1.Servlet
Servlet 是一个 Java程序,是在服务器上运行以处理客户端请求并做出响应的程序
Servlet的生命周期
是一个servlet的从初始化(出生)到销毁(死亡)。
Init() -> service() -> destroy().
加载类型:加载class文件
实例化类型:Servlet 容器创建 Servlet 的实例
初始化:该容器调用 init() 方法
请求处理:如果请求 Servlet,则容器调用 service() 方法
服务终止:销毁实例之前调用 destroy() 方法
Servlet的继承层次
ServletConfig
ServletConfig对象: 主要是用于加载servlet的初始化参数。在一个web应用可以存在多个ServletConfig对象(一个Servlet对应一个ServletConfig对象)
创建时机: 在创建完servlet对象之后,在调用init方法之前创建。
得到对象: 直接从有参数的init方法中得到!!!
ServletContext
ServletContext对象 ,叫做Servlet的上下文对象。表示一个当前的web应用环境。
一个web应用中只有一个ServletContext对象。
ServletContext就是一个域对象!
保存数据:void setAttribute(java.lang.String name, java.lang.Object object)
获取数据: java.lang.Object getAttribute(java.lang.String name)
删除数据: void removeAttribute(java.lang.String name)
ServletContext域对象:作用范围在整个web应用中有效!
所有域对象:
HttpServletRequet 域对象
ServletContext域对象
HttpSession 域对象
PageContext域对象
2.过滤器
,它与Servlet很相似!不它过滤器是用来拦截请求的,而不是处理请求的。
当用户请求某个Servlet时,会先执行部署在这个请求上的Filter,如果Filter“放行”,那么会继承执行用户请求的Servlet;如果Filter不“放行”,那么就不会执行用户请求的Servlet。
其实可以这样理解,当用户请求某个Servlet时,Tomcat会去执行注册在这个请求上的Filter,然后是否“放行”由Filter来决定。可以理解为,Filter来决定是否调用Servlet!当执行完成Servlet的代码后,还会执行Filter后面的代码。
-
-
- Filter作用:
-
1:可以拦截请求(request)
2:也可以拦截响应(response)
3:放行,同意通过连接器
4:统计
3.Listener
1:监听器就是 j2EE中的一个类(接口)
2:监听什么对象,主要是监听 三大域对象request,session,application (ServletRequest,HttpSession,ServletContext)
3:监听什么内容:
A: 监听域对象的创建与销毁 也就是生命周期监听
B: 监听域对象的属性添加,更新,移除动作
C:监听 被加入域对象中的对象
ServletRequest对象:
生命周期监听:ServletRequestListener
属性监听:ServletRequestAttributeListener
HttSession对象:
生命周期监听:HttpSessionListener
属性监听:HttpSessionAttributeListener
对象绑定监听1:HttpSessionBindingListener
对象钝化活化监听2:HttpSessionActivationListener
ServletContext对象:
生命周期监听:ServletContextListener
属性监听:ServletContextAttributeListener