2015-03-16 3 views
1

У меня есть этот фильтр, который не получает срабатывает (возможно, из-за приветствия-файл)фильтра не срабатывает из-за приветствия-файл

<filter> 
    <filter-name>gwtCacheControlFilter</filter-name> 
    <filter-class>com.me.server.GWTCacheControlFilter</filter-class> 
</filter> 

<filter-mapping> 
    <filter-name>gwtCacheControlFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

Где определяется приветственный-файл:

<welcome-file-list> 
    <welcome-file>app.html</welcome-file> 
</welcome-file-list> 

Когда localhost:8080 получает доступ, он автоматически возвращает app.html. Я не могу удалить этот файл приветствия, поскольку мне нужно, чтобы при обращении к сайту он автоматически показывал домашнюю страницу.

Что может быть для этого сценария, чтобы заставить фильтр работать?

+0

Я не могу воспроизвести это. Какие у вас есть доказательства того, что запрос не проходит через ваш 'GWTCacheControlFilter'? –

+0

Я разместил LOG в doHandle и не показывал, когда получаю доступ к корневому пути, но когда я получаю доступ к/stuff или/stuff/stuff, он работает – xybrek

+0

. Вашему фильтру нужен путь для запуска. Но когда вы вводите 'http: // 128.0.0.1', фильтр не соответствует. Он ожидает ведущий '/'. – Hannes

ответ

0

Напишите переадресацию jsp и используйте ее как страницу приветствия.

<welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
</welcome-file-list> 

См Redirect pages in JSP?

+0

Что это исправить? – xybrek

+0

@xybrek AFAIK - это приветственная страница, обрабатываемая как forward при доступе к хосту без пути. Поэтому сначала вы не запускаете фильтр, а вперед обрабатывается внутри, поэтому ни один из триггеров фильтра. Но переименование - это клиентская сторона, поэтому ваш фильтр будет срабатывать, когда клиент будет перенаправлять. – Hannes

Смежные вопросы