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:
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
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>
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?
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); } }
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:
Peut etre il y a t-il un moyen plus efficace ou plus spécifique à GWT de faire 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"); } }
Merci d'avance pour votre aide![]()
Partager