Listener组件:
Listener监听器是Servlet规范中定义的一种特殊类,它用于监听web应用程序中的ServletContext、HttpSession和ServletRequest这三大域对象的创建、销毁事件以及监听这些域对象中的属性发生修改的事件。
Servlet规范针对这三个对象上的操作,又把多种类型的监听器划分为三种类型:
- 域对象的生命周期监听:监听域对象自身的创建和销毁。
- 域对象的属性监听:监听域对象中属性的增加和删除。
- 感知监听(都与HttpSession域对象有关):监听绑定到HttpSession域中的某个JavaBean对象的状态的监听器。
-
监听三大范围是:请求范围,会话范围,全局范围。
-
ServletContext
全局作用域对象,所有的Servlet共享这个对象
- 是一个域对象
- 可以读取全局配置参数
- 可以搜索当前工程目录下面的资源文件
- 可以获取当前工程名字(了解) 服务器启动的时候创建,
服务器关闭的时候销毁,因为这是全局应用程序对象,全局共享对象。
HttpSession
服务端的技术
HttpSession原理:
当用户第一次访问Servlet时,服务器端会给用户创建一个独立的Session
并且生成一个SessionID,这个SessionID在响应浏览器的时候会被装进cookie中,从而被保存到浏览器中
当用户再一次访问Servlet时,请求中会携带着cookie中的SessionID去访问
服务器会根据这个SessionID去查看是否有对应的Session对象 有就拿出来使用;没有就创建一个Session(相当于用户第一次访问)
HttpServletRequest
对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。