一.过滤器
1.概念:
运行在服务端的web组件,可以截取客户端发送给服务端的请求,也可以截取服务器给客户端的响应。
2.作用及配置
<filter>
<filter-name>FirstFilter</filter-name>
<filter-class>cn.itlaobing.filter.FirstFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>FirstFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
截取请求和响应
4.组成:
实现Filter接口
init()方法,在容器启动时由web容器调用
destroy()方法,在容器重启或者关闭时由web容器调用
doFilter()方法,该方法的作用是处理请求,并将请求传递给下一个过滤器或者是被请求资源
chain.doFilter(),该方法是将请求传递给下一个过滤器或者是被请求资源
3.执行顺序
1.由web.xml的配置决定的
2.当时用注解是,过滤器的执行顺和命名有关
4.注解
@WebFilter
Value和urlpartners等价于web.xml中filter-mapping中url-partner标签的值,两个注解不能同时出现,并且注解和web.xml中的配置二者选其一。
5.过滤器链工作流程
6.响应乱码的解决
response.setContentType("text/html;charset=utf-8");
response.setCharacterEncoding("utf-8");
二.监听器
1.作用:监听web应用程序中的某一对象。并根据应用程序的需求做出相应的的处理。
2.常用的监听器:ServletRequestAttributeListener、ServletRequestListener、ServletContextAttributeListener、ServletContextListener、HttpSessionAttributeListener、HttpSessionListener