私は基本的にフィルターを持っており、その doFilter メソッドで、コンソールにメッセージを出力しているだけで、サンプル Web アプリのすべてのページにそのフィルターを適用しました。
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<filter>
<filter-name>LoginFilter</filter-name>
<filter-class>
com.mypkg.filters.LoginFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>LoginFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>utility.jsp</welcome-file>
と私のフィルターコード LoginFilter.java
package com.mypkg.filters;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.HttpServletResponse;
//other imports
public class LoginFilter implements Filter {
@Override
public void init(FilterConfig config) throws ServletException {
System.out.println("Filter init ran!");
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {
System.out.println("Filter running!");
}
@Override
public void destroy(FilterConfig config) throws ServletException {
//System.out.println("Filter destoryed!");
}
このフィルターを最初に実行したとき、「フィルター実行中」というメッセージが表示されましたが、その後、休止状態やその他のライブラリを含めたところ、機能しなくなり、それらを削除しても同じ結果になりました。フィルタが実行されません。URLパターンとすべてをチェック..無知!!
ポインタはありますか?