Url Rewrite Filter
あるURLパラメタが特定の条件を満たしたときに、そのパラメタを書き換えて、 書き換えた後のパラメタを持つURLにリダイレクトさせてやるとします。 例えば、検索キーワードが半角カナを含む場合に、半角カナの部分を全て全角カナに置換してやるとかです。 そ…
よく考えたら、Url Rewrite Filterでできるんじゃないか? condition要素の例に↓こんなのあるし。 <condition name="user-agent" operator="notequal">Mozilla/[1-4]</condition> 問題は自前Filterの時にやったような処理の握り潰しが、 run要素で呼び出すメソッドで書けるかどうかかな。 駄目なら、空のjsファイルにforwar…
webで提供しているサービスの移行のときに、 新旧サービスの差異を吸収してやるruleが割と簡単に書ける。 慣れるまでには結構時間がかかったけど、 いったんある程度形を作ってからなら、 似たようなルールの記述は本当に簡単。 なので、事前に洗い出せてな…
ruleとoutbound-ruleの順番はどうでもいいし、それぞれ交互になっても良い ruleとoutbound-ruleは実行される箇所が違い、競合しないため。 typeがリダイレクトの類のto要素を持つruleは優先度の高いものから順に書いていく ruleのurlパターンにもconditionに…
マイコミジャーナルの記事に言及してるんじゃなくて、 実際に使ってみて書いてるblogを見つけますた。 新・たけぞう瀕死の日記 追記 これ、マイコミジャーナルの記事を執筆した人のブログでした。
web.xmlの設定からUrl Rewrite Filter自体を外した時との比較で、 outbound-ruleとruleが両方記述されている場合は2,3割CPU使用率が上がってる感じ。 outbound-ruleのみの場合は両方記述されている場合とほぼ同じ、 ruleのみの場合はほとんどCPU使用率が上が…
<rule> <condition type="parameter" name="hoge" operator="equal">HOGE</condition> <from>.*/hogehoge\?.*</from> <run class="Fugafuga" method="doSomeMethod" /> <set name="rewrited_hoge">HO</set> </rule> <rule> </rule>
外向けのURLを書き換える際のルールを記述する要素で、 HttpServletResponseのencodeURLメソッドが実行されるタイミングで、 ルールが適用されるくらいにしか把握していませんでしたが、 具体的には↓こんな感じみたいです。 下準備 UrlRewriteFilterがフィル…
Url Rewrite Filterにはrun要素というのがあって、 <rule> <from>^/world/[a-z]+/[a-z]+$</from> <run class="com.blah.web.WorldServlet" method="doGet" /> <to>/world-presentation.jsp</to> </rule> こんな感じで記述してやると、指定したクラスの指定したメソッド*1を実行できますが、 これを使う場合はUrl Rewrite Filterのjarをshared/libに置いて…
cookieオフ時のjsessionid削除でけた。 <outbound-rule encodefirst="true"> <from>(.*);jsessionid=[0-9A-Fa-f]{32}(.*)</from> <to>$1$2</to> </outbound-rule>encodefirst="true"が重要で、ルール適用前にencodeURL()を実行するという意味らしいんだけど。 詳しいところは後で調べて書きます。 後、セッションIDの文字数が32文字決…
うぇ、outbound-ruleでの表示用URL書き換えが、JSTLのc:urlでうまく使えないっす。 どうやら、outbound-ruleの動作ってのは、response.encodeURLを実行した際に 以下のようになるようにするというものらしいです。 to要素で設定した変換後URL= response.enco…
UrlRewriteFilter - Rewrite URL's in Java Web Application Serversapacheのmod_rewriteみたいなことができるServletFilter。 ちょっと前にマイコミジャーナルで存在を知り、ちょうど新旧アプリの入れ替えというURLをちょこちょこ差し替えるような用事が出…