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

【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.xdnf.cn/news/13173.html

相关文章:

  • 【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅
  • SublimeText 4.4200
  • 割草农业车技术与运行分析!
  • 邻近标记技术革新蛋白质动态研究
  • S16-国产PN-IO设备坑我实录
  • 基于算法竞赛的c++编程(24)位运算及其应用
  • C++ 类与对象的基本概念和使用
  • Python条件语句与循环结构深度解析
  • 【51单片机】外挂DAC和ADC芯片的使用
  • 封装技术生命周期 从CDIP到CSP到SiP先进封装
  • AI书签管理工具开发全记录(十八):书签导入导出
  • find查找指定文件
  • 鸿蒙进阶——Mindspore Lite AI框架源码解读之模型加载详解(三)
  • Python Ovito统计金刚石结构数量
  • 防爆对讲机与非防爆对讲机的本质区别?
  • 玩转 Skia 的颜色
  • deepbayes lecture1: 贝叶斯框架简介
  • 本周股指想法
  • FreeRTOS学习02_任务管理
  • 关于新闻生产中技术系统弹性和灵活性的研究
  • Spring Boot 多模块项目最佳实践:结构设计与依赖管理
  • LangGraph基础知识(Graph-GraphState)
  • 47 通道注意力 热力图
  • 66、RFID是什么?
  • 深入理解Spring Boot中的Filter机制:原理、注册与实战应用
  • 地球科学方向(Geoscience and Remote Sensing),1天见刊,当月可检索!
  • 【AI学习】二、 嵌入模型(Embedding Models)和 向量数据库(Vector Databases)
  • VLLM : RuntimeError: NCCL error: invalid usage
  • 底层文件传输方式和传输机制
  • 高中为何要引入集合