【Java】Ajax 技术详解

发布于:2025-06-11 ⋅ 阅读:(37) ⋅ 点赞:(0)

1. Filter 过滤器

1.1 Filter 概述

Filter 是 JavaWeb 三大组件(Servlet、Filter、Listener)之一。过滤器的主要作用是拦截请求,实现特殊功能。典型的应用场景包括:

  • 权限控制:验证用户是否登录
  • 统一编码处理:设置请求和响应编码
  • 敏感字符处理:过滤敏感词汇

1.2 Filter 快速入门

开发步骤:
  1. 定义类实现 Filter 接口
  2. 配置拦截路径(使用 @WebFilter 注解)
  3. 实现 doFilter 方法
@WebFilter("/*")
public class FilterDemo implements Filter {
   
    @Override
    public void doFilter(ServletRequest request, ServletResponse response, 
                         FilterChain chain) throws IOException, ServletException {
   
        System.out.println("Filter执行前");
        // 放行请求
        chain.doFilter(request, response);
        System.out.println("Filter执行后");
    }
}

1.3 Filter 执行流程

Filter 执行流程如下:

  1. 执行 Filter 的放行前逻辑
  2. 执行 chain.doFilter() 放行请求
  3. 访问目标资源
  4. 执行 Filter 的放行后逻辑

1.4 Filter 拦截路径配置

配置方式 示例 说明
拦截具体资源 /index.jsp 只拦截特定资源
目录拦截 /user/* 拦截指定目录下所有资源
后缀名拦截 *.jsp 拦截指定后缀名的资源
拦截所有 /* 拦截所有资源

1.5 过滤器链

当多个过滤器拦截同一资源时,形成过滤器链。执行顺序:

  1. Filter1 放行前逻辑
  2. Filter1 放行
  3. Filter2 放行前逻辑
  4. Filter2 放行
  5. 访问资源
  6. Filter2 放行后逻辑
  7. Filter1 放行后逻辑

2. Listener 监听器

2.1 Listener 概述

监听器用于监听 application、session、request 三个对象的创建、销毁或属性变化。

2.2 ServletContextListener

最常用的监听器,监听 ServletContext 对象的创建和销毁:

@WebListener
public class ContextLoaderListener implements Servlet

网站公告

今日签到

点亮在社区的每一天
去签到