1

コードを使用して、ユーザーをセッションタイムアウトページにリダイレクトしたい。セッションがタイムアウトしたかどうかをチェックし、ユーザーをそのカスタムページ(CustomSessionTimeout.jspなど)にリダイレクトするフィルターに書き込むことができるロジック。このページは、フィルタリングを通過する必要はありません。

これは、最初のフィルターの1つのメソッドのシグネチャです

public void doFilter(ServletRequest servletRequest、ServletResponse servletResponse、FilterChain filterChain)

4

1 に答える 1

1

サーバーによると、ユーザーがリクエストとともにセッションCookieを送信したかどうかを確認することで、これを確認できます

@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) {
    HttpServletRequest request = (HttpServletRequest) req;
    HttpServletResponse response = (HttpServletResponse) res;

    if (request.getRequestedSessionId() != null && !request.isRequestedSessionIdValid()) {
        // Session has expired! Now do your job.
        response.sendRedirect(request.getContextPath() + "/CustomSessionTimeout.jsp");
        return;
    }

    chain.doFilter(req, res);
}
于 2012-12-20T12:37:19.923 に答える