javaweb三大组件
javaweb三大组件分别是:servlet,filter,listener;
servlet
1.简要概念
简要:运行在服务端,接收客户端的请求然后响应请求
概念:运行在服务端的小程序
Servlet就是一个接口,定义了java类被浏览器访问到(webServer识别)的规则
将来我们自定义一个类,实现Servlet接口,复写方法,那么这个类就是Servlet
2.执行原理
(1)当服务器接收客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径
(2)查找web.xml,是否有对应的标签的内容
(3)如果有,则在找到应的全类名
(4)tomcat会将字节码文件加载进内存,并且创建其对象
(5)调用其方法
Filter(过滤器)
- 概念:对所请求的web资源进行拦截,在请求到达目标资源之前过滤前的处理,在请求到达目标之后也可以进行过滤器的后置处理。一般用于完成通用的操作。如 登录验证,编码统一处理,敏感字符过滤。
- 执行流程:请求首先到达过滤器的doFilter方法,然后对request增强,然后调用doChain放行,等Servlet执行完毕后,对response增强
- 拦截配置
1.具体资源路径拦截:/index.jsp 只有访问index.jsp资源时,过滤器才会被执行
2.拦截目录:/user/* 访问/user下的所有资源时,过滤器都会被执行
3.后缀名拦截:*.jsp 访问所有后缀名为jsp资源时 过滤器都会被执行
4.拦截所有资源:/* 访问所有资源时过滤器会被执行
- 过滤器链:
可以配置多个过滤器
1.注解配置:按照类名的字符串比较规则比较,值小的先执行
2.web.xml配置:谁定义在上边谁先执行(一般不使用)
Listener(监听器)
- 概念 ```
- 事件监听机制
- 事件 :一件事情
- 事件源 :事件发生的地方
- 监听器 :一个对象
- 注册监听 :将事件,事件源,监听器绑定在一起。当事件源上发生某个事件后,执行监听器代码 ```
- ServletContextListener
监听ServletContext对象的创建和销毁
包含两个方法
contextDestroyed(ServletContextEvent sce) : ServletContext对象被销毁之前会调用该方法
contextInitialized(ServletContextEvent sce) : ServletContext对象创建后会调用该方法