初めてブラウザから URL を入力すると、サーブレット フィルタがヒットします。たとえばappPages/Nav.xhtml?id=1
、ブラウザに初めて貼り付けると、ページが更新されます。ここで、クエリ文字列を変更するとappPages/Nav.xhtml?id=2
、ページも更新されます。
しかし、3 回目に入るappPages/Nav.xhtml?id=1
と、まだ古いステージが記憶されており、フィルターが呼び出されることはありません。私のweb.xmlで、フィルターを次のように構成しました
<filter>
<display-name>SearchParamsFilter</display-name>
<filter-name>SearchParams</filter-name>
<filter-class>com.acme.filter.SearchParams</filter-class>
</filter>
<filter-mapping>
<filter-name>SearchParams</filter-name>
<url-pattern>/appPages/Nav.xhtml</url-pattern>
</filter-mapping>
古い状態を覚えているのはなぜですか?これは、同じタブの同じウィンドウに再度 URL を入力した場合にのみ発生します。しかし、リロードは正常に機能します。
更新: Chrome では正常に動作しますが、IE では動作しません!