过滤器是处于客户端与服务器资源文件之间的一道过滤网,在访问资源文件之前,通过一系列的过滤器对请求进行修改、
判断等,把不符合规则的请求在中途拦截或修改。也可以对响应进行过滤,拦截或修改响应。
要使用过滤器需要实现接口 Filter(注意:是javax.servlet中的Filter)。
package com.xiaofu.servlet; import javax.servlet.*; import java.io.IOException; //要使用过滤器需要实现接口 Filter public class Demo implements Filter { //初始化:web服务器启动时,就已经初始化了,随时等待过滤对象出现 @Override public void init(FilterConfig filterConfig) throws ServletException { System.out.println("初始化"); } /* * 1.过滤器中的所有代码,在过滤特定的请求的时候都会执行 * 2.必须要让过滤器继续通行 * */ @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { //设置字符编码 request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=UTF-8"); System.out.println("1111111111111"); chain.doFilter(request,response); //让我们的请求继续走 如果不写程序就会被拦截停止 System.out.println("1111111111111"); } //销毁:web服务器关闭的时候,过滤器会销毁 @Override public void destroy() { System.out.println("销毁"); } }
写好了过滤器需要在web.xml中配置
这样过滤器就完成了。
原文:https://www.cnblogs.com/love2000/p/14180953.html