会话超时不适用于Struts中的某些链接

时间:2015-08-25 14:27:26

标签: java jsp session-timeout struts-1

我的应用程序正在使用 Struts 1 ,我在web.xml中配置了60作为会话超时。我正在使用框架,我的视图左侧的菜单树(链接)保持不变,右侧显示相应的点击页面。在超时时,大多数链接都显示登录页面。但很少有人没有,他们仍然处于相同的流程中。请查看下面的配置和jsp片段,了解没有超时的链接。

的web.xml

<session-config>
  <session-timeout>60</session-timeout>
</session-config>
<login-config>
  <auth-method>FORM</auth-method>
  <realm-name>default</realm-name>
  <form-login-config>
    <form-login-page>/login.jsp</form-login-page>
    <form-error-page>/do/login</form-error-page>
  </form-login-config>
</login-config>

什么不行

的struts-config.xml

<action path="/Report" scope="request" name="form.Report" type="com.mypack.ReportAction" input="/Data.jsp">
  <forward name="show" path="/Data.jsp" />
</action>

引入了menu.jsp

<tr>
  <td height="24"><b><font size="2">
      <html:link forward="/Report" target="main">Reports</html:link></font></b>
  </td>
</tr>

1 个答案:

答案 0 :(得分:0)

会话时间与struts无关,但与Web应用程序容器无关。为了确保在会话耗尽时每个链接都被重定向到登录页面,你可以在web.xml中添加一个过滤器,这个过滤器将检查请求,如果达到了timout,那么它会将其重定向到登录页面,在其他地方它会让它继续。