过滤器filter应用: web服务器有一些垃圾请求那么我们后台就应该报错或者不处理 乱码问题 测试代码: 过滤器 123456789101112131415161718192021222324252627package com.saxon.filter;import javax.servlet.*;import java.io.IOException;public class filterDemo implements Filter { @Override public void init (FilterConfig filterConfig) throws ServletException { System.out.println ("过滤器初始化完毕");//在一切之前初始化 } @Override public void doFilter (ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { servletRequest.setCharacterEncoding ("utf-8"); servletResponse.setContentType ("text/html;charset=utf-8"); servletResponse.setCharacterEncoding ("utf-8"); System.out.println ("start***************************"); filterChain.doFilter (servletRequest,servletResponse);//必须写 System.out.println ("end***************************"); } @Override public void destroy () { System.out.println ("销毁");//在服务器关闭时注销 }} 2.测试类 1234567891011121314151617181920package com.saxon.filter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;public class Demo extends HttpServlet { @Override protected void doGet (HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.getWriter ().write ("只有爱,才会喜欢代码"); } @Override protected void doPost (HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet (req, resp); }} 3.配置文件 1234567891011121314151617181920<servlet> <servlet-name>s</servlet-name> <servlet-class>com.saxon.filter.Demo</servlet-class> </servlet> <servlet-mapping> <servlet-name>s</servlet-name> <url-pattern>/r/r</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>s</servlet-name> <url-pattern>/r</url-pattern> </servlet-mapping><filter> <filter-name>f</filter-name> <filter-class>com.saxon.filter.filterDemo</filter-class></filter> <filter-mapping> <filter-name>f</filter-name> <url-pattern>/r/*</url-pattern>//文件目录 </filter-mapping>