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 异常的资源路径,该路径必须以斜杠"/"开头