servlet HttpSession 监听器

一、Servlet中对象作用域

1、 ServletContext 上下文

应用服务器一启动就产生该对象,服务器关闭即销毁

作用于全局,所有Servlet ,相当于静态变量

2、 HttpSession 会话

客户端第一次请求产生,session过期销毁

作用于同一个客户端,相当于成员变量

3、 ServletRequest请求

一次请求产生一个对象,请求结束即销毁

作用于同一次请求,相当于局部变量

二、Servlet监听器

工作流程:

(1)确定事件源

(2)写一个类,实现Servlet监听器接口,并从写接口里面的方法

(3)在web.xml里注册建立联系,

  <listener>

  <listener-class>Servlet类事件源全路径</listener-class>

  </listener>

(4)事件源触发事件,监听器调用相应方法

1、ServletContext事件

(1)ServletContextListener接口,用于监听ServletContext的创建与销毁

  相应方法:

  void contextInitialized(ServletContextEvent e); ServletContext创建触发

  void contextDestroyed(ServletContextEvent e); ServletContext销毁触发

(2)ServletContextAttribyteListener接口,用于监听ServletContext属性状态

  相应方法:

  void attributeAdded(ServletContextEvent e); ServletContext属性加入触发

  context.setAttribute(“a”,”b”);

  void attributeRemovd(ServletContextEvent e); ServletContext属性删除触发

  context.removeAttribute(“a”,);

  void attributeReplaced(ServletContextEvent e); ServletContext属性修改触发

  context.setAttribute(“a”,”c”);

2、HttpSession事件

(1)HttpSessionListener接口,用于监听session的创建与销毁

相应方法:

void sessionCreated(HttpsessionEvent e) session 创建触发

void sessionDestroyed (HttpsessionEvent e) session 销毁触发

(2)HttpSession AttributeListener接口,用于监听session属性状态

相应方法:同ServletContextAttribyteListener

(3)HttpSessionBindingListener接口,用于监听绑定对象到Session属性监听

唯一一个不用在web.xml里注册的监听接口

绑定

Ression.setAttribute(“a”, 实现该接口的对象),

触发void valueBound(HttpSessionBindingEvent e);方法

移除:

Ression.removeAttribute(“a”),

触发void valueUnbound(HttpSessionBindingEvent e);方法

3、 SercletRequest事件

(1)ServletRequestListener接口 用于监听request的销毁与创建

(2)ServletRequesAttributetListener接口 用于监听request的属性状态

servlet HttpSession 监听器

时间: 2024-07-29 22:41:16

servlet HttpSession 监听器的相关文章

Servlet事件监听器

过滤器实现javax.servlet.Filter 接口,对某个Servlet程序进行拦截处理,成为Servlet容器与该servlet程序的通信线路上的一道关卡,它可以对Servlet容器发给Servlet程序的请求和Servlet程序回发给Servlet容器的响应进行拦截,可以决定是否将请求继续传递给Servlet程序,以及对请求和响应信息是否进行修改. Servlet事件监听器用于监听Web应用程序中的ServletContext.HttpSession.和ServletRequest等域

第六章 对象作用域与servlet事件监听器

作用域对象 Servlet上下文监听器 Servlet会话监听器 Servlet请求监听器 一:对象作用域 作用域对象 属性操作方法 作用域范围说明 ServletContext(上下文) void setAttribute(String, Object) Object getAttribute(Sting) void removeAttribute(String) Enumeration getAttributeNames() 整个Web应用程序 HttpSession(会话) 一个会话交互过

Servlet(三) 监听器

Servlet监听器 所有事件都继承自 java.util.Event 分成三类:application范围.session范围和request范围 监听器接口和注册 javax.servlet.ServletContextListener: 响应 ServletContext生命周期事件,Context创建之后,关闭之前会被调用 javax.servlet.ServletContextAttributeListener: 响应Context范围的属性 增删替换 javax.servlet.ht

javaWeb中servlet开发——监听器

监听的定义 对application的监听 application是servletContext接口的对象,表示的是整个上下文环境,如果要想实现对application监听则可以使用如下两个接口: servletContextListener:是对整个上下文环境的监听 servletContextAttrubiteListener:是对属性的监听. import javax.servlet.* ; public class ServletContextListenerDemo implement

Servlet——Listener监听器

一.监听器配置: 1.基于注解配置:@WebListener://监听器>过滤器>serlvet,配置的时候要注意先后顺序: 2.基于web.xml配置: <listener> <listener-class>全类名</listener-class> </listener> 二.监听域对象/域对象属性:继承对应的接口: 1.ServletContext(application): (1)监听生命周期:ServletContextListener:

Servlet过滤器和监听器知识总结(转)

 Servlet过滤器是 Servlet 程序的一种特殊用法,主要用来完成一些通用的操作,如编码的过滤.判断用户的登录状态.过滤器使得Servlet开发者能够在客户端请求到达 Servlet资源之前被截获,在处理之后再发送给被请求的Servlet资源,并且还可以截获响应,修改之后再发送给用户.而Servlet监听器可以  监听客户端发出的请求.服务器端的操作,通过监听器,可以自动激发一些操作,如监听在线人数.  Servlet过滤器简介绍      Servlet过滤器是在Java Servle

servlet监听器Listener(理论+例子)

Listener采用了观察者模式(24种模式之一),Listener是servlet的监听器,他可以监听客户端的请求.服务器端的操作等, 通过监听器,可以自动激发一些操作.比如:监听在线用户数量 当增加一个HttpSession时,就会激发sessinCreated(HttpSessionEvent sce)方法,这样就可以给在线人数+1了. 常见的监听器接口: ServletContextAttributeListener 监听对servletContext属性的操作,比如删除.增加.修改属性

Java基础——Servlet(七)过滤器&amp;监听器 相关

一.过滤器简介 Filter 位于客户端和请求资源之间,请求的资源可以是 Servlet Jsp html (img,javascript,css)等.用于拦截浏览器发给服务器的请求(Request)和服务器返回给浏览器的内容(Response).一言以蔽之:过滤器是用来筛选请求的. * 怎么实现一个过滤器? 思路如下: 1) 编写一个类, 实现javax.servlet.Filter 接口 -- destory(); -- init(FilterConfig config); -- doFil

我的Java之旅 第八课 Servlet 进阶API、过滤器与监听器

1.Servlet.ServletConfig与GenericServlet 首次请求的顺序 => 生成HttpServletRequest与HttpServletResponse =>调用service()方法,以前边两个对象作为参数 =>Web容器启动, =>读取Servlet设置信息,实例化Servlet类 =>为每个Servlet设置信息产生一个ServletConfig对象. =>调用Servlet接口的init()方法,以产生的ServletConfig对象