1.プロファイルは、豆を注入し
<! - 权限拦截- >
< MVC:インターセプタ>
< MVC:インターセプター>
< MVC:マッピングパス= "/ ** /保存/ **" />
< 豆のクラス= "com.proengine.partner.common。 interceptor.PromotionStoreAuthInterceptor」/>
</ MVC:迎撃>
</ MVC:インターセプタ>
2.インターセプタクラス
パッケージcom.proengine.partner.common.interceptor;
インポートjavax.annotation.Resource;
インポートするjavax.servlet.http.HttpServletRequest;
インポートするjavax.servlet.http.HttpServletResponse;
インポートてjava.io.PrintWriter;
/ **
* @author: SXD
* @description:インターセプター
* @date:2020年1月7日夜03時47分がで作成
* /
パブリック クラス PromotionStoreAuthInterceptor 延び BaseController 実装{からHandlerInterceptorを
/ **
方法を実行する前に、コントローラに要求を処理するこの方法*、返品値は、割り込み、その後の操作がtrueを返し、falseを返します割り込み後続の操作を下に進むかどうかを示します。
* /
@Override
公共 ブールpreHandle(HttpServletRequestのリクエスト、レスポンスのHttpServletResponse、オブジェクトハンドラ)がスロー例外{
地図を <文字列、文字列[]> = request.getParameterMapなparameterMap(); // パラメータ要求を取得
のStringBuilderたerrMsgアン = 新新のStringBuilder();
IF(errMsg.length() > 0 ){
応答(リクエスト、レスポンス、errMsg.toString());
戻り falseに ; // 遮断要請
}
戻り trueに ; // せ要求
}
/ **
*処理方法において、この方法の要求がコントローラ後に呼び出され、前のビューをパースに行って、この方法は、ドメインモデルとビューの要求にさらに変更を加えることができます。
* /
@Override
公共 ボイドザpostHandle(HttpServletRequestのリクエストは、応答は、オブジェクトハンドラのModelAndViewのModelAndViewはHttpServletResponseの)スロー例外{
}
/ **
*実行処理要求制御方法の完了後に、この方法は、すなわち、レンダリングビューの後にされることをこの方法で仕事にいくつかのリソースのクリーンアップ、ログやその他の情報を得ます。
* /
@Override
公共 ボイド afterCompletion(HttpServletRequestのリクエスト、レスポンスHttpServletResponseの、オブジェクトハンドラ、例外EX)がスロー例外{
}
// リターン問題をコーディング、クロスドメインを解決するために、フロントエンドにメッセージを傍受
プライベート ボイド応答(HttpServletRequestのリクエスト、レスポンスHttpServletResponseの文字列メッセージ)スロー例外{
原点ストリングRequest.getHeader =( "起源" );
IF (StringUtils.isNotBlank(原点)){
IF(。。Origin.toLowerCase()のindexOf( "Dmall.com")> 0 ){
response.setHeader(「アクセス管理- -原点許可する「起源); // アクセスドメインの許可
response.setHeader(」アクセス・コントロール・許可・メソッド「」POST、GETを『); //は、GET、POSTリクエストのドメイン許可
response.setHeader(』アクセスを許可-資格情報-コントロール""真の"); // サーバに許可要求クッキーと
response.setContentType(" text / htmlの;のcharset = UTF-8「);// 標準出力JSON形式を設定し、コード
}
}
PWのPrintWriter = response.getWriter()?
pw.write(JSON.toJSONString(メッセージ))。
pw.flush();
pw.close();
}
}