ログインログインフィルタ

@WebFilter( "/ *" パブリック クラス LoginFilter 実装フィルター{ 

    公共 のdoFilter(ServletRequestのREQ、ServletResponseをRESP、れるFilterChainカテナalberghiera)がスローServletExceptionが、IOExceptionが{ 

        //は、キャスト 
        のHttpServletRequest要求= (HttpServletRequestの)REQを;
         //は、リソース要求のパスを取得します。 
        URI文字列= request.getRequestURI();
         // リソースが関連性の高いリンク先が含まれているかどうかを決定する
        場合(uri.contains( "/ login.jspを")|| uri.contains( "/がloginservlet")|| uri.containsを(「/ CSS / ")|| uri.contains(" / JS / ")|| uri.contains(" / checkCodeServlet」)){
             // ユーザーが含まれていますが、ただでログインしたい、リリース
            chain.doFilter(REQ、RESP); 
        } {
             // 、ユーザーログインログインを検証する必要性が含まれていません
             // セッションユーザーから取得した3 
            オブジェクトでrequest.getSessionを=ユーザー()のgetAttribute(「ユーザー」);
             IF( !ユーザー= ヌル){
                 // 上陸し、リリース
                chain.doFilter(REQ、RESPを); 
            } {
                 // 、ジャンプページにログインしていません 
                request.setAttribute( "login_msg"、 "あなたはログインしていません、ログインしてください" ); 
                request.getRequestDispatcher( "/login.jsp" の.forward(要求、RESP); 
            }
        } 

    } 

    公共 ボイドのinit(に、FilterConfig設定)スローServletExceptionが{ 

    } 

    公共 ボイドが破壊(){ 

    } 

}

 

おすすめ

転載: www.cnblogs.com/naigai/p/11920641.html