2

私は最近、春のセキュリティを使用する春の MVC プロジェクトに取り組み始めました。

ユーザーのリクエストがコントローラーに到達する前に、いくつかの事前チェックを行う必要がありました。

これは私が達成したいことです。私はストラットで多くの作業を行ってきましたが、ストラットでは、すべてのアクション クラスをスーパークラスに拡張し、BaseActionここにいくつかの検証を記述して、サブ クラス メソッドを呼び出す前に呼び出されるようにします。

ここで同じことを達成したいのですが、開始方法がわかりません。

事前チェックでデータベース呼び出しと Web サービス呼び出しを行う必要があるため、フィルターを使用できません。

私はポインタが必要です。

4

1 に答える 1

3

HandlerInterceptorAdapterを使用してインターセプターを実装できます。

http://static.springsource.org/spring/docs/3.0.x/reference/mvc.html#mvc-handlermapping-interceptor

XML で applicationContext を構成します。

<mvc:interceptors>
    <bean class="my.package.MyInterceptor" />
</mvc:interceptors>

インターセプター。

public class MyInterceptor extends HandlerInterceptorAdapter {

    public boolean preHandle(
        HttpServletRequest request, 
        HttpServletResponse response, Object handler) {

        // your logic
        return true;
    }
}

実行チェーンが次のインターセプターまたはハンドラー自体に進む必要がある場合は true を返します。それ以外の場合、DispatcherServlet は、このインターセプターが既に応答自体を処理していると想定します。

于 2013-06-29T21:42:30.927 に答える