Java Web 三大基本组件(Servlet、Filter、Listener)
Servlet: 处理请求
Filter: 过滤拦截请求
Listener:监听器
三大组件中基本都需要在web.xml中进行注册:除了Listener的两个(活化钝化监听器、绑定监听器)需要JavaBean实现不需要注册外
过滤器
过滤器的使用步骤
- 实现Filter接口
- 去web.xml注册
Filter配置
1 | <filter> |
url-pattern的三种写法
精确匹配
/pics/hello.jsp /hello/login: 直接拦截指定路径路径匹配(模糊匹配)
/pics/* : 拦截pics下的所有请求后缀匹配(模糊匹配)
*.jsp:拦截所有以jsp结尾的请求
【注】 不能使用/pics/*.jsp
Filter原理
1 | doFilter(){ |
多个Filter的访问顺序
监听器
八个:ServletRequest(2)、HttpSession(4)、ServletContext(2)
2:生命周期监听器、属性变化监听器
4:HttpSession额外监听器,还有两个(活化钝化监听器、绑定监听器)
掌握监听器:
ServletContextListener(生命周期监听器):监听Servlet的创建和销毁(监听服务器的启动停止): 服务器启动为当前项目创建ServletContext对象,服务器停止销毁创建的Servlet
ServletContext
- 一个Web项目对应一个ServletContext,它代表当前web项目的信息
- 还可以作为最大的域对象在整个项目运行期间共享数据
使用
- 实现对应的监听接口
- 去web.xml中进行配置
注意:有两个Listener是JavaBean需要实现的接口(HttpSessionActivitionListener, HttpSeesionBindingListener)