Java WebにおけるFilterの呼び出し順序

1693 ワード

符号化フィルタやセキュリティ認証フィルタのような対応するニーズを達成するために、フィルタの呼び出し順序を指定する必要があるシーンもあります.一般的に、符号化フィルタは先に呼び出され、次いでセキュリティ認証フィルタであり、このような順序は、正確な符号化が使用されることを保証します.では、フィルタの呼び出し順序は何と関係がありますか?
Java Webのフィルタには2つの構成方式があり、web.xml構成と注釈の形式構成.
一、webで.xmlでのFilterの呼び出し順序の構成
次の例を見てください.


    
        characterEncodingFilter
        com.gyb.javaee.web.filter.CharacterEncodingFilter
    
    
        authenFilter
        com.gyb.javaee.web.filter.AuthenticationFilter
    
    
        characterEncodingFilter
        /*
    
    
        authenFilter
        /*
    

このwebでxmlには2つのフィルタauthenFilterとcharacterEncodingFilterが構成されており、servletコンテナはまずcharacterEncodingFilterを呼び出し、authenFilterメソッドを呼び出す.この呼び出し順序はFilterのfilter-mappingの構成に関係しており、呼び出し順序は上から下、つまり上の構成は下の構成より先に呼び出され、filter構成の順序とは関係ありません.
二、@WebFilter注記を使用して構成されたFilterの呼び出し順序
しばらく順番が決められません(ルールが見つかりません!サーブレット仕様を見ても関連ドキュメントの説明が見つかりません.ご存じの方がいらっしゃいましたら、メッセージをお願いします!).
三、webを使う.xmlと@WebFilter注記の混合構成Filter
しばらく順番が決められません(ルールが見つかりません!サーブレット仕様を見ても関連ドキュメントの説明が見つかりません.ご存じの方がいらっしゃいましたら、メッセージをお願いします!).