当前位置: 首页 > news >正文

【Java】Ajax 技术详解

文章目录

    • 1. Filter 过滤器
      • 1.1 Filter 概述
      • 1.2 Filter 快速入门
        • 开发步骤:
      • 1.3 Filter 执行流程
      • 1.4 Filter 拦截路径配置
      • 1.5 过滤器链
    • 2. Listener 监听器
      • 2.1 Listener 概述
      • 2.2 ServletContextListener
    • 3. Ajax 技术
      • 3.1 Ajax 概述
      • 3.2 Ajax 快速入门
        • 服务端实现:
        • 客户端实现:
    • 4. Axios 库
      • 4.1 基本使用
      • 4.2 请求方法别名
    • 5. JSON 数据格式
      • 5.1 JSON 概述
      • 5.2 JSON 基础语法
      • 5.3 JSON 与 Java 对象转换
    • 总结

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 {@Overridepublic 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
http://www.dtcms.com/a/241181.html

相关文章:

  • 基于当前项目通过npm包形式暴露公共组件
  • 检查项目中的依赖是否有更新——npm outdated
  • 基于SpringBoot实现的汽车资讯网站设计与实现【源码+文档】
  • 【ubutnu 24.04 】 nomachine 安装
  • 第21节 Node.js 多进程
  • 安宝特案例丨又一落地,Vuzix AR眼镜助力亚马逊英国仓库智能化升级!
  • rm视觉学习1-自瞄部分
  • Latex vscode安装、配置与使用-Windows
  • Spring是如何解决Bean的循环依赖:三级缓存机制
  • 比较数据迁移后MySQL数据库和达梦数据库中的表
  • Elasticsearch的索引
  • VMware启动不支持虚拟化的解决方案!
  • #Vue3篇:透传 Attributes---$attrs插槽propemit
  • 密码是什么(三):多表代替密码
  • 1991-2024年上市公司个股换手率数据
  • C++模版初阶
  • 存储性能委员会(SPC)
  • 管理学院权限管理系统开发总结
  • 产品数字化与三维可视化:为工业领域打造高效服务新引擎
  • Python自动化机器学习平台库之mindsdb使用详解
  • vue的<router-link>的to里面的query和params的区别
  • JAVA后端开发——多租户
  • 力扣 1456. 定长子串中元音的最大数目 的多解
  • 【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变板
  • 一般视频剪辑的硬盘配置是什么
  • 什么时候用GraphRAG?RAG VS GraphRAG综合分析
  • 【西门子杯工业嵌入式-7-OLED】
  • 第二章 感知机
  • 火山 RTC 引擎10 ----远端视频 转网易视频格式
  • Houdini POP入门学习07 - 分组