фильтр сервлета для перезаписи URL заставляет страницу gwt получать 404

У меня есть приложение GWT /application.html

для легкого доступа (и SEO) я хотел бы сделать переписывание URL-адреса, например /station/fr/foo сопоставление

Я пытаюсь использовать фильтр сервлета, объявленный следующим образом.

url-pattern : /station/*

и в этом фильтре я разделил части URL-адреса, чтобы создать параметры для целевого URL-адреса:

и я делаю :

request.getRequestDispatcher( targetUrl ).forward( request, response);

Но, кажется, пытается получить доступ к /station/Application.html, а затем 404

[ =========== отредактировано отсюда =========== ]

Ну, знаете, после этого вопроса я понял несколько вещей: html-страница достигается, но пытается загрузить свои ресурсы (css, js, img) в /station/

Это поведение выполняется браузером (!)

Если бы у меня был <base href="http://servername/">, он работал бы, но я больше не могу заставить работать режим разработки...

Есть ли способ прозрачно изменить на лету ответ на изменение путей в исходном коде html?


person Overnuts    schedule 22.03.2012    source источник


Ответы (1)


Вы хотите исправить путь к приложению как в режиме размещенного причала, так и в режиме tomcat/deployment, чтобы он был одинаковым. Попробуйте https://groups.google.com/d/topic/google-web-toolkit/a8OsRmMSaMg/обсуждение

<?xml version="1.0"  encoding="UTF-8"?> 
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" 
"http://jetty.mortbay.org/configure.dtd"> 
<Configure class="org.mortbay.jetty.webapp.WebAppContext"> 

        <Set name="contextPath">/yourapp</Set> 

</Configure> 
person appbootup    schedule 02.12.2012