簡単ログインインターセプト(ホームログインしていない旧への直接アクセスは、ログインページにジャンプ)

層制御コード:
@Controller
 パブリック クラスLoginController { 
    @RequestMapping( "/ログイン" のパブリック文字列のログイン(文字列名、文字列のパスワード、HttpServletRequestのリクエスト){
         場合( "zhangsan" .equals(ユーザー名)&& "123" .equals(パスワード)){ 
            システム.out.println( "登录成功" )。
            。でrequest.getSession()のsetAttribute( "ユーザ名" 、ユーザ名)。
            戻る "リダイレクト:/アカウント/ findAllの" ; 
        } { 
            するSystem.out.println( "登录失败" )。
            ; 
        } 
    } 
}
 
 
インターセプタ層コード:
パブリック クラス LoginInterceptor 実装{からHandlerInterceptor
     / ** 
     *ログイン認証
     *セッションがログインしている場合は情報、リリース
     *は、セッション情報が傍受にログインされていない場合は、
     決定された*ログイン要求、ログイン要求であれば、直接解除するかどうか
     * / 
    @Override 
    公共 ブールザ・preHandle(HttpServletRequestをリクエスト、HttpServletResponseの応答、オブジェクトハンドラ)がスロー例外{
         // リクエストパスを取得 
        文字列requestURI = Request.getRequestURIを();
         //は、登録要求があるかどうかを判断する
        IF(requestURI.contains( "ログイン" )){
 //             もしログイン要求、ダイレクトリリース
            リターン trueに; 
        } 
        // セッションから登録情報を取得 
        )(オブジェクト名=でrequest.getSessionのgetAttributeを( "ユーザ名。" );
         IF(!ユーザ名= nullの){
             // ログイン情報、リリースとのセッション
            復帰 trueに; 
        } {
             / / セッション情報は、ログインページにジャンプし、ログインしていない 
            response.sendRedirect(「/ login.jspを」);
             を返す ; 
        } 
    } 

}
<%@ページisELIgnored = "false"とのcontentType = "text / htmlの;のcharset = UTF-8"言語= "javaの" %> 
<HTML> 
<HEAD> 
    <TITLE>タイトル</ TITLE> 
    < -引入CSS样式! - > 
    <リンクREL = "スタイルシート" HREF = "$ {pageContext.request.contextPath} /css/bootstrap.min.css"> 
</ head> 
<body> 
<フォームクラス = "フォーム水平"役割=」フォーム"メソッド= "ポスト"アクション= "$ {pageContext.request.contextPath} /ログイン"> 
    <divのクラス = "フォームグループ"> 
        <ラベルのためのユーザ名"=" クラス =" COL-SM-2コントロールラベル「>用户名</ label>は
        <divのクラス = "COL-SM-10"> 
            の<input type = "text"のクラス= "フォームコントロール" idが= "ユーザ名"の名前は= "ユーザ名" 
                   プレースホルダ => "输入用户の名を请" 
        </ div> 
    </ div> 
    <divのクラスには、 = "フォームグループ"> 
        <ラベル = "お金" クラス = "COL-SM-2コントロールラベル">密码</ label>は
        <divのクラス = "COL-SM-10"> 
            の<input type = "パスワード" クラス = "フォームコントロール" ID = "お金"の名前= "パスワード" 
                   プレースホルダ = "请输入密码"> 
        </ div> 
    </ div>
    <DIV クラス = "フォームグループ"> 
        <DIV クラス = "COL-SM-オフセット2 COL-SM-10">
            <ボタンタイプ= "送信"クラス = "BTN BTN-デフォルト">登录</ボタン> 
        </ div> 
    </ div> </ FORM> 
</ BODY> 
<! -引入JS文件- > 
ます。<script type = "text / javascriptの" SRC = "$ {pageContext.request.contextPath} /js/jquery-1.9.1.js"> </ SCRIPT> 
<スクリプトタイプ= "テキスト/ javascriptの" SRC = "$ {pageContext.request.contextPath} / JS /ブートストラップ.min.js "> </ SCRIPT> 

</ HTML>
login.jspを
<?xml version = "1.0"エンコード= "UTF-8"?> 
<豆のxmlns = "http://www.springframework.org/schema/beans" 
       のxmlns:XSI = "http://www.w3.org / 2001 / XMLスキーマ・インスタンス" 
       のxmlns:コンテキスト = "http://www.springframework.org/schema/context" 
       のxmlns:MVC = "http://www.springframework.org/schema/mvc" 
       XSI:のschemaLocation =" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/contextのhttp:// WWW .springframework.org /スキーマ/コンテキスト/春-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd "> 


    <! -扫描包、创建类对象- >
    <コンテキスト:コンポーネント・スキャン塩基パッケージ = "com.itheima.controller"> </コンテキスト:コンポーネントスキャン> 
    <! -ビューリゾルバ- > 
    <豆のクラス = "org.springframework.web.servlet.view.InternalResourceViewResolver"> 
        <プロパティ名= "接頭辞"の値= "/ページ/"> </プロパティ> 
        <プロパティ名= "サフィックス"値= "JSP。"> </プロパティ> 
    </豆> 
    < -注釈が運転- >!
    <MVC:注釈駆動型> </ MVC:アノテーション・ドリブン> 

    < -迎撃- >!
    <MVC:インターセプタ> 
        <MVC:インターセプター> 
            <MVC:マッピング・パス= "/ **" /> 
            <! -ブロックされた場合静的リソースは、あなたがリリースを設定する必要があります- >
            <MVC:除外マッピングパス= "/ JS / *"> </ MVC:除外マッピング>
            <MVC:除外マッピングパス= "/ CSS / *"> </ MVC:除外マッピング> 
            <MVC:除外マッピングパス= "/フォント/ *"> </ MVC:除外マッピング> 

            <豆のクラス = "com.itheima.interceptor.LoginInterceptor"> </豆> 
        </ MVC:迎撃> 
    </ MVC:インターセプタ> 



    < -静态资源放行- >!
    < - <MVC:!リソースマッピング= "/のJS / *」場所= "/ JS /"> </ MVC:リソース> - > 
    < -静态资源全部放行- >!
    <MVC:デフォルト -servletハンドラ> </ MVC:デフォルト -servletハンドラ> 
< /豆>
春-mvc.xml

 

おすすめ

転載: www.cnblogs.com/xiaomingVVV/p/11332390.html