Filter & Listener

本文详细介绍了Servlet中的过滤器(Filter)与监听器(Listener)的使用方法及配置方式,并给出了具体的web.xml配置示例。同时,还介绍了如何通过配置错误页面来实现异常处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Filter

doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) 

//doFilter方法是一个过滤器工作的主要方法

//这个方法有3个传入的参数,第一个参数是request,第二个是response,最后一个是FilterChain用来调用下一个Filter的,没有下一个Filter,就调用原始的资源

web.xml 中的配置实例

<filter>
  <filter-name>filterDemo</filter-name>
  <filter-class>com.filter.filterDemo</filter-class>

</filter>
  

<filter-mapping>
  <filter-name>filterDemo</filter-name>
  <url-pattern>/*</url-pattern>

  <dispatcher>REQUEST</dispatcher>

  <dispatcher>FORWARD</dispatcher>

</filter-mapping>

//在这个Filter 声明下,站点下的所有资源都要经过filterDemo这个Filter进行过滤

//而且对于直接请求或者转发都可以触发


ServletRequest 和 ServletReponse 的Wrapper 类

略..


2. Listener

Web 应用程序可以使用Listener 接口来监听在Container中的某一执行程序,并且根据应用程序的需求做出适当的响应

ServletContext 相关的监听器

略..

HttpSession 相关的监听器

略..

ServletRequest 相关的监听器

略..


补充. 声明式异常处理

web.xml 中的配置实例

<error-page>

  <exception-type>javax.servlet.ServletException</exception-type> //或者<error-code>
  <location>/error.jsp</location>

</error-page>

//<error-code> 指定错误代码,例如 4xx 状态代码表示客户端错误

//<exception-type> 指定java 异常类的完整限定名

//<location> 给出用于响应HTTP 错误代码或者java 异常的资源路径,该路径必须以斜杠"/"开头




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值