初めてアプリケーションを起動すると、sessionExpiredページが呼び出されます。それを防ぐ方法を教えてもらえますか?アプリケーションに入ると、セッションのタイムアウト後に期限切れとなります。私はtiles.xmlを使用しています。Java Session Timeout - 初めてアプリケーションを起動すると、セッションの期限切れメッセージが表示されます。
<!--Session Expired Page -->
<definition name="sessionExpired" extends="login.definition">
<put-attribute name="information" value="" />
<put-attribute name="body" value="/WEB-INF/jsp/sessionExpired.jsp" />
</definition>
<!--End of Session Expired Page -->
web.xmlの
<session-config>
<session-timeout>1</session-timeout>
</session-config>
<filter>
<filter-name>SessionFilter</filter-name>
<filter-class>com.Filter.SessionFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>SessionFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
SessionFilter
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
HttpSession session = request.getSession(false);
if (session != null) {
long currentTime = System.currentTimeMillis()/1000;
long lastSessionAccessedTime = session.getLastAccessedTime()/1000;
int inactiveInterval = (int) currentTime -lastSessionAccessedTime);
if (inactiveInterval > session.getMaxInactiveInterval()) {
RequestDispatcher rd = request.getRequestDispatcher("/sessionExpired");
rd.forward(request, response);
} else {
chain.doFilter(request, response);
}
} else {
RequestDispatcher rd = request.getRequestDispatcher("/sessionExpired");
rd.forward(request, response);
}
}
私は1分に設定しています。しかし、それは問題ではありません。アプリケーションの起動中にsessionExpiredページが表示されないようにする方法を知りたいです。 – user5776462