过滤器
什么是过滤器
Servlet过滤器与Servlet十分相似,但他具有拦截客户端请求的功能,Servlet过滤器可以改变请求中的内容,来满足实际开发中的需要。对于程序开发人员而言,过滤器实质上就是在web应用服务器上的一个web应用组件,用于拦截客户端与目标资源的请求,并对这些请求进行一定过滤处理再发送给目标资源。
过滤器的创建
1 import java.io.IOException; 2 import javax.servlet.Filter; 3 import javax.servlet.FilterChain; 4 import javax.servlet.FilterConfig; 5 import javax.servlet.ServletException; 6 import javax.servlet.ServletRequest; 7 import javax.servlet.ServletResponse; 8 9 public class MyFilter implements Filter { 10 11 public MyFilter() { 12 } 13 //销毁方法 14 public void destroy() { 15 //销毁处理 16 } 17 //过滤处理方法 18 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { 19 chain.doFilter(request, response); 20 } 21 //初始化方法 22 public void init(FilterConfig fConfig) throws ServletException { 23 //初始化处理 24 } 25 26 }
过滤器的配置
<filter> <filter-name>MyFilterfilter-name> <filter-class>com.alex.web.MyFilterfilter-class> filter> <filter-mapping> <filter-name>MyFilterfilter-name> <url-pattern>/MyFilterurl-pattern> filter-mapping>
监听器
什么是监听器
监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执行。
监听器接口
1、Servlet上下文监听
(1)、ServletContextListener接口:主要实现监听ServletContext的创建和删除。
(2)、ServletAttributeListener接口:主要实现监听ServletContext属性的增加、删除和修改。
2、HTTP会话监听
(1)、HttpsessionListener接口:实现监听HTTP会话创建、销毁。
(2)、HttpsessionActivationListener接口:实现监听HTTP会话active和passivate。
(3)、HttpBindingListener接口:实现监听HTTP会话中对象的绑定信息。
(4)、HttpsessionAttributeListener接口:实现监听HTTP会话中属性的设置请求。
3、Servlet请求监听
(1)、ServletRequestListener接口
(2)、ServletRequestAttributeListener接口