JSP 教程 之 JSP 过滤器 9

简介: JSP教程讲解了JSP过滤器的使用。过滤器基于Java类,能动态拦截请求与响应,用于处理或转换信息。可以通过web.xml配置多个过滤器,每个过滤器可关联一个或多个Servlet或JSP。配置包括:设定过滤器名和类,以及初始化参数。`<filter-mapping>`元素定义过滤器拦截的资源,既可通过Servlet名称,也可用请求路径。`<dispatcher>`指定过滤器何时被调用,如REQUEST、INCLUDE、FORWARD和ERROR,分别对应直接访问、包含、转发和错误处理场景。

JSP 教程 之 JSP 过滤器 9

JSP 过滤器

JSP 和 Servlet 中的过滤器都是 Java 类。

过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息。

可以将一个或多个过滤器附加到一个 Servlet 或一组 Servlet。过滤器也可以附加到 JavaServer Pages (JSP) 文件和 HTML 页面。

web.xml配置各节点说明

指定一个过滤器。

用于为过滤器指定一个名字,该元素的内容不能为空。

元素用于指定过滤器的完整的限定类名。

元素用于为过滤器指定初始化参数,它的子元素指定参数的名字,指定参数的值。
在过滤器中,可以使用FilterConfig接口对象来访问初始化参数。

元素用于设置一个 Filter 所负责拦截的资源。一个Filter拦截的资源可通过两种方式来指定:Servlet 名称和资源访问的请求路径

子元素用于设置filter的注册名称。该值必须是在元素中声明过的过滤器的名字

设置 filter 所拦截的请求路径(过滤器关联的URL样式)

指定过滤器所拦截的Servlet名称。

指定过滤器所拦截的资源被 Servlet 容器调用的方式,可以是REQUEST,INCLUDE,FORWARD和ERROR之一,默认REQUEST。用户可以设置多个子元素用来指定 Filter 对资源的多种调用方式进行拦截。

子元素可以设置的值及其意义
REQUEST:当用户直接访问页面时,Web容器将会调用过滤器。如果目标资源是通过RequestDispatcher的include()或forward()方法访问时,那么该过滤器就不会被调用。
INCLUDE:如果目标资源是通过RequestDispatcher的include()方法访问时,那么该过滤器将被调用。除此之外,该过滤器不会被调用。
FORWARD:如果目标资源是通过RequestDispatcher的forward()方法访问时,那么该过滤器将被调用,除此之外,该过滤器不会被调用。
ERROR:如果目标资源是通过声明式异常处理机制调用时,那么该过滤器将被调用。除此之外,过滤器不会被调用。

目录
相关文章
|
消息中间件 NoSQL Cloud Native
对Confluent一些解读
对Kafka母公司Confluent IPO、产品、技术一些看法
5499 0
对Confluent一些解读
|
缓存 NoSQL Java
SpringBoot实现缓存预热的几种常用方案
SpringBoot实现缓存预热的几种常用方案
|
XML 数据采集 存储
使用Java和XPath在XML文档中精准定位数据
在数据驱动的时代,从复杂结构中精确提取信息至关重要。XML被广泛用于数据存储与传输,而XPath则能高效地在这些文档中导航和提取数据。本文深入探讨如何使用Java和XPath精准定位XML文档中的数据,并通过小红书的实际案例进行分析。首先介绍了XML及其挑战,接着阐述了XPath的优势。然后,提出从大型XML文档中自动提取特定产品信息的需求,并通过代理IP技术、设置Cookie和User-Agent以及多线程技术来解决实际网络环境下的数据抓取问题。最后,提供了一个Java示例代码,演示如何集成这些技术以高效地从XML源中抓取数据。
445 7
使用Java和XPath在XML文档中精准定位数据
|
10月前
|
自然语言处理 Prometheus 监控
基于DeepSeek的智能客服系统实战:从开发到部署
本文详细介绍如何将基于DeepSeek的智能客服系统从开发到部署,涵盖服务器选择、环境配置、代码部署及Web服务器设置。通过具体案例和代码示例,讲解系统上线步骤,并介绍使用Prometheus、Grafana等工具进行性能监控的方法。此外,针对高并发、API调用失败等常见问题提供解决方案,确保系统的稳定运行。最后强调数据安全与隐私保护的重要性,帮助读者全面掌握智能客服系统的部署与维护。
|
物联网 网络性能优化 网络架构
关闭 2.4GHz 会让 5GHz 更快吗?
【5月更文挑战第10天】
2045 4
关闭 2.4GHz 会让 5GHz 更快吗?
|
Web App开发
PanTools v1.0.27 多网盘批量管理、遍历分享、转存、重命名、复制...
一款针对多个热门网盘的文件管理、批量分享、批量转存、批量重命名、批量复制、批量链接检测、跨账号移动文件、多账号文件搜索等,支持不同网盘的不同账号的资源文件操作。适用于网站站长、资源爱好者、网盘拉新等,对于管理名下具有多个网盘多个账号具有实用的效果。
698 0
|
人工智能 JSON 自然语言处理
Qwen 2.5:阿里巴巴集团的新一代大型语言模型
Qwen 2.5:阿里巴巴集团的新一代大型语言模型
|
SQL Java 数据库连接
Mybatis的<insert>,<update>,<delete>标签用法
这篇文章详细讲解了Mybatis中<insert>, <update>, <delete>标签的使用方法,并提供了示例代码来展示如何执行数据库的增删改操作。
1195 0
|
SQL Java 数据库连接
Mybatis的优缺点和适用场景
Mybatis是一种基于Java语言的持久化框架,它能够让开发人员更加方便地进行数据库操作,同时也能够提高程序的性能和可维护性。
408 2
|
Java Apache Maven
BeanUtils库的功能与使用方法详解
BeanUtils库的功能与使用方法详解