フィルタ処理は、
| void init(...) | フィルタ処理クラスがインスタンス化されるときに動く |
| void doFilter(...) | フィルタリング処理を実装する |
| void destroy() | フィルタ処理クラスがアンロードされるときに動く |
| HTTP | AFilter | BFilter | Servlet |
| REQ -> | doFilter(req,req,chain){ | ||
| (前処理) | |||
| chain.doFilter(req,res)-> | doFilter(req,res,chain){ | ||
| (前処理) | |||
| chain.doFilter(req,res)-> | doPost(req,res){ | ||
| (業務処理) | |||
| (後処理)<--------------- | return; | ||
| (後処理)<--------------- | return; | } | |
| RES <- | return; | } | |
| } |
web.xml:
<filter>
<filter-name>XXXFILTER</finter-name>
<filter-class>com.foo.XxxFilter</filter-class>
<init-param> <-- パラメータが無ければ
<param-name>PARAM</param-name> <-- 不要
<param-value>VALUE</param-value> <--
</init-param> <--
</filter>
<filter-mapping>
<filter-name>XXXFILTER</filter-name>
<servlet-name>/FooServlet</<servlet-name> <-- どちらか一方で良い
<url-pattern>/*</url-pattern> <--
</filter-mapping>
※web.xmlの記述順序?を参照