JavaWeb中的Filter没有作用
一、源代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h1>hello jsp!</h1>
</body>
</html>
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;
@WebFilter("/*")
public class FilterDemo implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("FilterDemo....");
}
@Override
public void destroy() {
}
}
二、原因
如图所示,FilterDemo并不能够过滤掉hello.jsp文件,作者找了很久的原因。在运行的时候依旧能够访问hello.jsp文件。
原来,在编译结果文件中的target目录没有classes文件,所以FilterDemo没有起到过滤作用,作者估计可能是项目的原因。
这个时候可能需要重新 新建一JavaWeb个项目。新建项目之后,再次编译运行,就可以发现target目录下面有classes文件。同时FilterDemo也能够过滤掉hello.jsp文件