2014-10-16 1 views
0

Я пишу JSP страницу, во время выхода из системы я аннулирую сессию. Но проблема в том, когда я нажимаю «назад», я могу посетить предыдущую страницу. Как этого избежать. После того, как я сделал интернет-поиск, я узнал, что это потому, что кэш браузера. Может ли кто-нибудь помочь мне решить эту проблему?Как аннулировать сеанс и блокировать доступ при нажатии кнопки возврата браузеров?

ответ

1

Вы должны явно установить ответный заголовок и сообщить обозревателю, что он не кэширует эти страницы.

Установить заголовок ответа, как показано ниже для всех страниц JSP, которые не должны быть показаны на нажатие кнопки задней .:

response.setHeader("Cache-Control","no-cache,no-store,must-revalidate"); 
response.setHeader("Pragma","no-cache"); 
response.setDateHeader("Expires", 0); 

Или даже лучше было бы установить noCacheFilter, чтобы предотвратить кэширование страниц JSP, установив фильтр для * .jsp файлов, как показано ниже:

@Override 
public void doFilter(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException { 
    response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); 
    response.setHeader("Pragma", "no-cache"); 
    response.setDateHeader("Expiresponse", 0); 
    chain.doFilter(request, response); 
} 

и добавить этот фильтр, чтобы отобразить *.jsp FILES LI

<filter> 
    <filter-name>noCacheFilter</filter-name> 
    <filter-class>com.abcd.NoCacheFilter</filter-class> //Filter class path 
</filter> 
<filter-mapping> 
    <filter-name>noCacheFilter</filter-name> 
    <url-pattern>*.jsp</url-pattern> 
</filter-mapping> 
+0

Затем что происходит, когда я нажимаю кнопку «Назад»? и вы говорите, что я хочу включить это каждый jsp, который не хочет кэшировать. но когда мы вошли в систему, мы хотим просмотреть многие другие страницы, и у меня есть выход на многие страницы. Я хочу только в момент выхода из системы, я не хочу предоставлять доступ к предыдущей странице insted, чтобы отобразить messege «login again» – Raghu

+0

Добавив эти заголовки ответа выше, вы не столкнетесь с проблемой загрузки страницы с обратной кнопкой и для перенаправления на еще раз, вы должны управлять им в своем фильтре регистрации или что-то, что вы использовали для аутентификации пользователя. –

+0

Спасибо, чувак. , кажется, работает для меня, PLS расскажите мне о том, как сопоставить фильтр для всех jsp. – Raghu

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