2014-11-21 2 views
2

Что я хочу, когда сеанс истек через две минуты, тогда я хочу отправить пользователя обратно на страницу входа, чтобы мне нужно было сделать это?Aumomatic redircting to login page, когда сеанс истек в сервлете

В настоящее время я написал эту строку кода, чтобы аннулировать сеанс в web.xml.

<web-app version="2.5" 
xmlns="http://java.sun.com/xml/ns/javaee" 
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"> 

<session-config> 
<session-timeout>2</session-timeout> 
</session-config> 

</web-app> 
+1

можно дублировать: [Tomcat 7: Перенаправление URL в случае тайм-аута сеанса] (HTTP: // stackoverflow.com/questions/22416645/tomcat-7-redirect-url-in-case-of-session-timeout) – PbxMan

ответ

0

Вы можете добавить это в верхней части ваших doPost() или doGet() функций

HttpSession session = request.getSession(false);// don't create new Session 
if(session == null || session.isNew()) { 
    response.sendRedirect("/yourPage.jsp"); 
} else { 
    //Do whatever you waana do 
} 

Для например.

doPost(){ 
    HttpSession session = request.getSession(false);// don't create new Session 
    if(session == null || session.isNew()) { 
     response.sendRedirect("/yourPage.jsp"); 
    } else { 
     out.println("I found old session"); 
    } 
} 
+0

это хорошо, но есть ли способ настроить только в web.xml –

+0

@Error_Exception Вы не можете делать непосредственно в web.xml. Вам нужно будет указать «Фильтр», который будет проверять состояние сеанса. И сопоставьте этот фильтр в 'web.xml'. Таким образом, вы будете писать код только в одном файле. Но вы не можете сделать это, используя только 'web.xml'. По крайней мере, вам придется написать фильтр. –

1

Вы можете реализовать sessionListener и в том, что вы перенаправлять в случае сессии expire.Refer эту ссылку http://www.mkyong.com/servlet/a-simple-httpsessionlistener-example-active-sessions-counter/

+0

Вы не можете выполнить перенаправление с помощью сеанса прослушивателя, когда срок действия сеанса истек. Поскольку клиент не отправил HTTP-запрос в тот момент, который вы могли бы затем ответить с помощью перенаправления. источник: http://stackoverflow.com/questions/10943016/how-to-redirect-to-the-login-page-when-the-session-expires – bilelovitch

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