Filter过滤器:用来过滤网站的数据。
编写步骤:
注意不要导错了:

1.写servlet
- public class ShowServlet extends HttpServlet{
- @Override
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- super.doGet(req, resp);
- }
-
- @Override
- protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- super.doPost(req, resp);
- }
- }
2.编写过滤器
- public class CharacterEncodingFilter implements Filter {
- @Override
- //初始化:web服务器启动,就已经初始化了,随时等待过滤对象出现!
- public void init(FilterConfig filterConfig) throws ServletException {
- System.out.println("初始化");
- }
-
- @Override
- //Chain:链
- /*
- 1.过滤器中的所有代码,在过滤特定请求的时候都会执行
- 2.chain.doFilter(request,response);意思是让过滤器继续通行
- */
- public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
- //中文乱码过滤器
- servletRequest.setCharacterEncoding("utf-8");
- servletResponse.setCharacterEncoding("utf-8");
- servletResponse.setContentType("test/html;charset=UTF-8");
-
- System.out.println("CharacterEncodingFilter执行前.....");
- filterChain.doFilter(servletRequest,servletResponse); //让我们的请求继续走,如果不写,程序到这里就被拦截停止!
- System.out.println("CharacterEncodingFilter执行后.....");
- }
-
- @Override
- public void destroy() {
- System.out.println("销毁..");
- }
- }
3.编写web.xml
- "1.0" encoding="UTF-8"?>
- <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
- version="4.0">
-
- <servlet>
- <servlet-name>ShowServletservlet-name>
- <servlet-class>com.cheng.servlet.ShowServletservlet-class>
- servlet>
-
- <servlet-mapping>
- <servlet-name>ShowServletservlet-name>
- <url-pattern>/servlet/showurl-pattern>
- servlet-mapping>
-
- <filter>
- <filter-name>CharacterEncodingFilterfilter-name>
- <filter-class>src.com.gxa.file.CharacterEncodingFilterfilter-class>
- filter>
- <filter-mapping>
- <filter-name>CharacterEncodingFilterfilter-name>
-
- <url-pattern>/servlet/*url-pattern>
-
- filter-mapping>
- web-app>