一、创建MyServlet
package cn.itcast.chapter08.filter;
public class MyServlet extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.getWriter().write("Hello MyServlet ");
}
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
二、部署项目并访问
http://localhost:8080/chapter08/MyServlet
三、创建MyFilter,拦截访问MyServlet的请求
package cn.itcast.chapter08.filter;
public class MyFilter implements Filter {
public void init(FilterConfig fConfig) throws ServletException {
// 过滤器对象在初始化时调用,可以配置一些初始化参数
}
public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// 用于拦截用户的请求,如果和当前过滤器的拦截路径匹配,该方法会被调用
PrintWriter out=response.getWriter();
out.write("Hello MyFilter");
}
public void destroy() {
// 过滤器对象在销毁时自动调用,释放资源
}
}
四、web.xml配置MyFilter
<filter>
<filter-name>MyFilter</filter-name>
<filter-class>cn.itcast.chapter08.filter.MyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>MyFilter</filter-name>
<url-pattern>/MyServlet</url-pattern>
</filter-mapping>
五、重启tomcat并访问
六、配置信息解释
<filter>注册一个Filter
<filter-name>MyFilter</filter-name>设置Filter名称
<filter-class>cn.itcast.chapter08.filter.MyFilter</filter-class>设置Filter类的完整名称
</filter>
<filter-mapping>设置哪个Filter拦截哪些请求
<filter-name>MyFilter</filter-name>必须同上
<url-pattern>/MyServlet</url-pattern>拦截哪些请求
</filter-mapping>