ServletFilterとforward処理
JSP2.3までだと、requestにしかfilterがかからない。
JSP2.4からrequestのほかに、forward,include,error時にもfilterをかけることができるようになったようだ。
参考 IBM からのお知らせ : 申し訳ございません。該当するURLのページが見つかりませんでした。
で、2.4に対応するためにweb.xmlに
<?xml version="1.0" encoding="UTF-8" ?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> 〜(省略)〜
と書いてみたんだけど、Eclipse様がfilter-nameとservlet-filterのところで
cvc-id.3: A field of identity constraint 'web-app-filter-name-uniqueness' matched element 'web-app', but this element does not have a simple type.
のようにお怒りになる。なぜだ?
2.3の時はその辺りは全く問題なかったのに。
[追記]
どうも、Amateras pluginの問題な気がする。
エラーを無視してTomcatで動かしてみたら普通に動いた。
でFilterの無限ループにはまったんだけど、それはまた別のお話。