Salut à tous,
Je suis débutante sur GWT. J'ai un problème assez simple je pense.

Je voudrais appliquer un filtre dans le web.xml. J'ai fait comme ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
              http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         version="2.5"
         xmlns="http://java.sun.com/xml/ns/javaee">

  <!-- Servlets -->
  
  
  <!-- Default page to serve -->
  <welcome-file-list>
    <welcome-file>HelloWorld.html</welcome-file>
  </welcome-file-list>

<filter>
		<filter-name>CORSFilter</filter-name>
		<filter-class>com.tutorialspoint.server.CORSFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>CORSFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
 
</web-app>
Voici mon filtre (server):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class CORSFilter implements Filter {

	public CORSFilter() { }

	public void init(FilterConfig fConfig) throws ServletException { }

	public void destroy() {	}

	public void doFilter(
		ServletRequest request, ServletResponse response, 
		FilterChain chain) throws IOException, ServletException {
		System.out.println("Filtre");
		((HttpServletResponse)response).addHeader(
			"Access-Control-Allow-Origin", "*"
		);
		chain.doFilter(request, response);
	}
}
Le println ne s'affiche pas dans la console; j'en déduit qu'il n'est pas appelé. Savez vous ce que je dois faire?


Plus globalement, je veux faire une requete http sur du JSON (sur un domaine different) et j'ai l'erreur:
XMLHttpRequest cannot load URL. Origin http://127.0.0.1:49473 is not allowed by Access-Control-Allow-Origin.
Après recherches, j'essaye d'appliquer ce tuto:http://padcom13.blogspot.com/2011/09...lications.html

Coté client j'ai codé ca:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
	  public static void doGet(String url) {
 
	    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
	    builder.setHeader("Access-Control-Allow-Origin", "*");
	    try {
	      Request response = builder.sendRequest(null, new RequestCallback() {
	        public void onError(Request request, Throwable exception) {
	          // Code omitted for clarity
	        }
 
	        public void onResponseReceived(Request request, Response response) {
 
	        	Window.alert("Success " + response.getText());
 
	        }
	      });
	    } catch (RequestException e) {
	      // Code omitted for clarity
	    }
	  }
 
	  public void onModuleLoad() {
	    doGet(url);
	    System.out.println("Bonjour");
	  }
	}
Peut etre il y a t-il un moyen plus efficace ou plus spécifique à GWT de faire ca?

Merci d'avance pour votre aide