• Filter过滤器


    Filter过滤器:用来过滤网站的数据。

    • 处理中文乱码
    • 登录严重

    编写步骤:

    1.导包

    注意不要导错了:

     2.编写过滤器:

    1.写servlet

    1. public class ShowServlet extends HttpServlet{
    2. @Override
    3. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    4. super.doGet(req, resp);
    5. }
    6. @Override
    7. protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    8. super.doPost(req, resp);
    9. }
    10. }

    2.编写过滤器

    1. public class CharacterEncodingFilter implements Filter {
    2. @Override
    3. //初始化:web服务器启动,就已经初始化了,随时等待过滤对象出现!
    4. public void init(FilterConfig filterConfig) throws ServletException {
    5. System.out.println("初始化");
    6. }
    7. @Override
    8. //Chain:链
    9. /*
    10. 1.过滤器中的所有代码,在过滤特定请求的时候都会执行
    11. 2.chain.doFilter(request,response);意思是让过滤器继续通行
    12. */
    13. public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
    14. //中文乱码过滤器
    15. servletRequest.setCharacterEncoding("utf-8");
    16. servletResponse.setCharacterEncoding("utf-8");
    17. servletResponse.setContentType("test/html;charset=UTF-8");
    18. System.out.println("CharacterEncodingFilter执行前.....");
    19. filterChain.doFilter(servletRequest,servletResponse); //让我们的请求继续走,如果不写,程序到这里就被拦截停止!
    20. System.out.println("CharacterEncodingFilter执行后.....");
    21. }
    22. @Override
    23. public void destroy() {
    24. System.out.println("销毁..");
    25. }
    26. }

    3.编写web.xml

    1. "1.0" encoding="UTF-8"?>
    2. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
    5. version="4.0">
    6. <servlet>
    7. <servlet-name>ShowServletservlet-name>
    8. <servlet-class>com.cheng.servlet.ShowServletservlet-class>
    9. servlet>
    10. <servlet-mapping>
    11. <servlet-name>ShowServletservlet-name>
    12. <url-pattern>/servlet/showurl-pattern>
    13. servlet-mapping>
    14. <filter>
    15. <filter-name>CharacterEncodingFilterfilter-name>
    16. <filter-class>src.com.gxa.file.CharacterEncodingFilterfilter-class>
    17. filter>
    18. <filter-mapping>
    19. <filter-name>CharacterEncodingFilterfilter-name>
    20. <url-pattern>/servlet/*url-pattern>
    21. filter-mapping>
    22. web-app>

  • 相关阅读:
    【C++】C++调用python:命令行方式
    万丈高楼平地起,每个API皆根基
    DNS解析
    Macroscope安全漏洞检测工具简介
    汽车纵染压制专用液压机比例阀放大器
    19异常的学习笔记
    分享PPT设计思路,让你的PPT更吸睛
    【SIFT】超详详详解 - 实现细节记录
    阿里分布式事务seata
    博流BL602芯片 - 烧录配置
  • 原文地址:https://blog.csdn.net/qq_51741292/article/details/126514206