Каков наилучший подход для обработки тайм-аутов сессии в Struts2? - PullRequest
3 голосов
/ 24 сентября 2010

У меня есть приложение struts2, и мне нужно обработать тайм-аут сеанса в зарегистрированном разделе.

Я имею в виду использование класса Interceptor:

public class SessionInterceptor extends AbstractInterceptor {
  @Override
  public String intercept(ActionInvocation invocation) throws Exception {
      Map<String,Object> session = invocation.getInvocationContext().getSession();
      if(session.isEmpty())
          return "session";
      return invocation.invoke();
  }
}

В моем Struts.xml:

<struts>
  <interceptor name="session" class="org.app.struts.interceptor.SessionInterceptor" />  
  <interceptor name="admin" class="org.app.struts.interceptor.AdminInterceptor" />

  <interceptor-stack name="adminStack">
    <interceptor-ref name="defaultStack"/>
    <interceptor-ref name="session"/>
    <interceptor-ref name="admin"/>
  </interceptor-stack>

  <action name="doaction" class="org.app.class" method="doAction">
    <interceptor-ref name="adminStack" />
    <result name="success">page.jsp</result>
    <result name="error">error.jsp</result>
    <result name="session">sessionexpired.jsp</result>
  </action>
</struts>

Есть ли лучший подход?

Спасибо!

Ответы [ 2 ]

1 голос
/ 25 ноября 2010

Вы на правильном пути.

0 голосов
/ 27 апреля 2011

попробуйте это: http://nickcoblentz.blogspot.com/2008/11/page-level-access-controls-in-struts-2.html и в web.xml:

<session-config>  
        <session-timeout>  
            30  
        </session-timeout>  
    </session-config>    

это на 30 минут

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...