Java Web三大组件
Servlet:处理请求
Filter:过滤拦截请求
Listener:监听器
注意:三者基本都需要在web.xml中注册,除了Listener中的两个(活化钝化监听器、绑定解绑监听器)需要javaBean实现
过滤器
使用步骤
1.实现Filter接口
2.web.xml进行配置
<filter-name></filter-name>
<filter-class></filter-class>
<filter-name></filter-name>
<url-pattern></url-pattern>
```
三种url写法:
1.精确匹配
/pic/haha.jsp 直接拦截指定路径
2.路径匹配
/pic/* 拦截pic下的所有请求
3.后缀匹配
*.jsp 拦截所有以.jsp结尾的请求`
Filter原理
1、当客户端发生请求后,在HttpServletRequest 到达Servlet 之前,过滤器拦截客户的HttpServletRequest。
2、根据需要检查HttpServletRequest ,也可以修改HttpServletRequest 头和数据。
3、在过滤器中调用doFilter方法,对请求放行。请求到达Servlet后,对请求进行处理并产HttpServletResponse发送给客户端。
4、在HttpServletResponse 到达客户端之前,过滤器拦截HttpServletResponse 。
5、根据需要检查HttpServletResponse ,可以修改HttpServletResponse 头和数据。
6、HttpServletResponse到达客户端。
监听器
需要掌握:
ServletContextListener(生命周期监听器):监听ServletContext的创建和销毁(监听服务器的启动、停止),服务器启动为当前项目创建ServletContext对象,服务器停止销毁创建的ServletContext对象。
ServletContext:
1、一个web项目对应一个ServletContext,它当前web项目的信息
2、还可以作为最大的域对象在整个项目中运行期间共享数据
使用步骤
1、实现对应的监听器接口
2、web.xml中配置
注:有两个Listener是javaBean需要实现的接口(HttpSessionActivtionListener,HttpSessionBindingListener)