Tomcat7の使用---Primefaces3.4.1 --- javax faces 2.1.17 ---prettyfaces-jsf2 3.3.3
プロジェクトにきれいな顔を正しく設定しましたが、きれいな顔で書かれた新しいURLでWebフィルターが機能しません。
これがpretty-config.xmlの例です
<url-mapping id="home">
<pattern value="/home"/>
<view-id value="/secure/homepage.xhtml"/>
</url-mapping>
<url-mapping id="register">
<pattern value="/register"/>
<view-id value="/public/register.xhtml"/>
</url-mapping>
<url-mapping id="welcome">
<pattern value="/"/>
<view-id value="/public/welcome.xhtml"/>
</url-mapping>
<url-mapping id="profile">
<pattern value="/profile/#{userId}"/>
<view-id value="/profile.xhtml"/>
</url-mapping>
login(welcome)ページとregisterページは "public"フォルダーにあり、それらのWebフィルターはアノテーションで定義されています:@WebFilter( "/ public / *")
「安全な」フォルダにある私のホームページ(正確にはフォルダ内にさらに多くのページがあります)については、Webフィルタとその注釈も定義しました:@WebFilter( "/ secure / *)
かなりのURLは正常に機能していますが、これらのフィルターは、元のURLを書き込んだ場合にのみ機能します。
1)Webフィルターを修復するにはどうすればよいですか?
2)元のURLを入力するためにユーザーをブロックしたい。きれいな顔が元のURLを完全に隠していることは知っていますが、それを行う方法はありますか?
--解決済み--BalusCに感謝します
アノテーションを使用してフィルターを定義した場合は、次のようなディスパッチャー設定を構成できます。
@WebFilter(urlPatterns = "/ public / *"、 dispatcherTypes = {DispatcherType.REQUEST、DispatcherType.FORWARD})