コンテナの終了などフィルタプログラムが破棄されるときに呼び出されるメソッドです。リソースの開放など終了処理を行います。
web.xmlに指定されているフィルタの初期化パラメータ名を返します。パラメータが存在しない場合はNullが返されます。
実行されているServletContextオブジェクトを返します。
package pack; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; //(1)Filterインタフェースを実装します。 public class ExFilterServlet implements Filter { public void init(FilterConfig conf) throws ServletException {} //(2)doFilterメソッドにフィルタ処理を記載します。 public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws ServletException, IOException { //(3)getRequestURLメソッドでアクセスがあったURLを表示します。 System.out.println(((HttpServletRequest) req).getRequestURL() + ":" + new java.util.Date()); //(4)doFilterメソッドで、連続するフィルタがある場合は、次のフィ // ルタを呼び出します。連続するフィルタがない場合は、元々要求 // されていたプログラムを呼び出します。 // この例ではHelloServletを呼び出します。 chain.doFilter(req, res); } public void destroy() {} }
package pack; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloServlet extends javax.servlet.http.HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { PrintWriter out = res.getWriter(); out.println("<HTML>"); out.println("<BODY>"); out.println("<H3>Hello World!</H3>"); out.println("</BODY>"); out.println("</HTML>"); } }
<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" 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 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <!-- (1)フィルタプログラムを指定しています。 --> <filter> <filter-name>ExFilterServlet</filter-name> <filter-class>pack.ExFilterServlet</filter-class> </filter> <!-- (2)フィルタ処理を適用する条件を指定します。 /*と指定しており、すべてのアクセスにフィルタ 処理が適用されます。--> <filter-mapping> <filter-name>ExFilterServlet</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>pack.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/Hello</url-pattern> </servlet-mapping> </web-app>
・・・・・・・・・・ ・・・・・・・・・・ 情報: Find registry server-registry.xml at classpath resource 2006/10/23 23:13:26 org.apache.catalina.startup.Catalina start 情報: Server startup in 3095 ms ※アクセスしたURLを記したログが生成されているのが確認できます。 http://localhost:8080/TEST/Hello:Mon Oct 23 23:13:32 JST 2006