• 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>

  • 相关阅读:
    大语言模型之十八-商业思考
    Mac配置python wind量化接口
    【Go 编程实践】从零到一:创建、测试并发布自己的 Go 库
    JVM Heap Memory
    一百套毕业设计开题报告和答辩PPT(附下载地址)
    java多线程实现同步锁卖票窗口案例
    计算机网络学习笔记——运输层(b站)
    UTF-8和UTF-16简介
    Java框架 MyBatis的缓存
    5G与Wi-Fi 接入的网络融合发展分析
  • 原文地址:https://blog.csdn.net/qq_51741292/article/details/126514206