JavaWeb三大组件
Servlet、Filter、Listener
1、Servlet:处理请求
2、Filter:过滤拦截请求
用法:1、实现接口
2、到web.xml配置
配置:
<filter> <filter-name>名字</filter-name> <filter-class>全类名<filter-class> </filter>
<filter-mapping> <filter-name>名字</filter-name> <url-pattern> </url-pattern> </filter-mapping>
<url-pattern></url-pattern>
有三种写法:
1、精确匹配:/pics/haha.jsp /hello/login :直接拦截指定的路径
2、路径匹配:/pics/* :拦截/pics下的所有请求
3、后缀匹配:*.jsp :拦截所有以.jsp结尾的请求
4、非法匹配:/pics/*.jsp :这种写法不对
Filter原理:
doFilter(){
//放行请求
chain.doFilter(request,response);
}
3、Listener:监听器
共有八个:
ServletRequest(2),HttpSession(4),ServletContext(2)
2:生命周期监听器、属性变化监听器
4:(HttpSession):
2:额外的两个(活化钝化监听器,绑定解绑监听器)
常用:
ServletContextListener:(声明周期监听器):监听ServletContext的创建和销毁【监听服务器的启动与停止】;服务器启动,为当前项目创建ServletContext对象,服务器停止则销毁此对象
什么是ServletConText?:
1、一个web项目对应一个ServletContext,他代表当前web项目信息
2、还可以作为最大的域对象在整个项目运行区间共享数据
三大组件基本都要在web.xml中配置,除过Listener的两个(活化钝化监听器,绑定解绑监听器)需要JavaBean实现,不注册外,剩下的三大组件都要注册。
用法:实现对应的监听器接口
去web.xml配置
注意,HttpSessionActivationListener和HttpSessionBindingListener需要Javabean实现接口