-
ServletRequest的事件监听器(request监听的是用户的每一个访问请求) 实现ServletRequestListener接口用于监听它的创建和销毁事件 一个ServletRequest可以注册多个ServletRequestListener接口 有两个事件处理方法: requestInitialized方法: public void requestInitialized(ServletRequestEvent sre) request创建时调用 获取ServletRequest对象 ServletRequest sr = sre.getServletRequest() 进而获取初始化参数:sr.getInitParmeter("参数名") requestDestroyed方法: public void requestDestroyed(ServletRequestEvent sre) request销毁时调用 ServletRequest的主要用途: 读取参数 记录访问历史查看全部
-
第一个监听器: 1、实现ServletContextListener接口 contextInitialized() contextDestoryed() 2、web.xml中注册 <listener> <listener-class>类的完整路径</listener> </listener>查看全部
-
HttpSession的创建和销毁 实现HttpSessionListener接口用于监听它的创建和销毁事件 一个HttpSession可以注册多个HttpSessionListener接口, 一个web应用中可以有多个HttpSession对象 有两个事件处理方法: sessionCreated方法: public void sessionCreated(HttpSessionEvent se) session创建时调用 sessionDestroyed方法: public void sessionDestroyed(HttpSessionEvent se) session销毁时调用 销毁session 1.关闭服务器 2.关闭浏览器 3.不关闭浏览器,session超时: 可以在web.xml配置session超时的时间 <session-config> <session-timeout>0</session-timeout> </session-config> 0:session没有超时的限制 1:session超时1分钟后销毁,但是并不是准确的一分钟 HttpSessionListener的主要用途: 统计在线人数 记录访问日志,记录访问时间、访问的ip查看全部
-
监听器分类: 1.按监听器的对象划分: a 用户监听应用程序环境对象(ServletContext)的事件监听器 b 用于监听用户会话对象(HttpSession)的事件监听器 c 用于监听请求消息对象(ServletRequest)的事件监听器。 2.按事件划分 a 监听域对象自身的创建和销毁的事件监听器 b 监听域对象中的属性的增加和删除的事件监听器 c 监听绑定到HttpSession域中的某个对象的状态的事件监听器 ServletContext的创建和销毁 实现ServletContextListener接口用于监听它的创建和销毁事件 一个项目中可以有多个ServletContextListener,但是只有一个ServletContext对象 有两个事件处理方法: (1)contextInitialized方法: public void contextInitialized( ServletContextEvent sce ) ServletContext创建时调用 参数 ServletContextEvent 事件对象,可以获取ServletContext对象以及一些初始化参数 例如: 1.获取ServletContext对象: ServletContext sc = sce.getServletContext(); 获取初始化参数:sc.getInitParmeter("参数名称"); 初始化参数在web.xml中配置: <context-param> <param-name>initParam</param-name> <param-value>imooc</param-value> </context-param> 2.设置ServletContext属性:sc.setAttribute("name",obj); 然后在其它地方获取getAttribute("name") (2)contextDestroyed方法: public void contextDestroyed( ServletContextEvent sce ) ServletContext销毁时调用 主要用于数据库链接关闭时释放一些资源,以免过度的占用。查看全部
-
监听器的启动顺序查看全部
-
web监听器的用途 1.统计在线人数和在线用户 2.系统启动时加载初始化信息 3.统计网站访问量 4.跟spring结合 创建监听器的步骤 1.创建一个实现监听器接口的类 配置web.xml进行注册查看全部
-
WEB监听器 1、监听器:指专门用于对其他对象身上发生的【事件或状态改变】进行监听和相应处理的对象。当被监听的对象【发生变化】时,立即采取相应的行动。 ***注意:必须发生变化才能调用 2、监听对象:ServletContext:application(整个应用只存在一个)、HttpSession:session(针对每一个会话)、ServletRequest:request(客户请求) 3、监听内容:创建、销毁、属性改变事件 4、生命周期:事件发生前、发生后进行一些必要的处理查看全部
-
监听器总结 A.按监听器的对象划分: 1、用户监听应用程序环境对象(ServletContext)的时间监听器 2、用于监听用户会话对象(HttpSession)的事件监听器 3、用于监听请求消息对象(ServletRequest)的事件监听器。 B.按事件划分: 1、监听三个域对象创建和销毁的事件监听器 ServletRequestListener有以下两个方法: void requestDestroyed(ServletRequestEvent sre) void requestInitialized(ServletRequestEvent sre) HttpSessionListener有以下两个方法: void sessionCreated(HttpSessionEvent se) void sessionDestroyed(HttpSessionEvent se) ServletContextListener有以下两个方法: void contextDestroyed(ServletContextEvent sce) void contextInitialized(ServletContextEvent sce) 2、监听域对象中属性的增加和删除的事件监听器 ServletContextAttributeListener HttpSessionAttributeListener ServletRequestAttributeListener 3、监听绑定到HttpSession域中的某个对象的状态的时间监听器 注意:这种监听器不需要注册。某个javabean实现这些接口后就可以监听何时被绑定、解绑或被激活或钝化(Servlet3.0下) HttpSessionBindingListener:实现该接口的类,能检测自己何时被Httpsession绑定和解绑 HttpSessionActivationListener:实现该接口的类(要求javabean必须是实现了Serializable接口的),能监测自己何时随着HttpSession一起激活和钝化查看全部
-
web监听器的用途 1.统计在线人数和在线用户 2.系统启动时加载初始化信息 3.统计网站访问量 4.跟spring结合查看全部
-
1.统计在线人数:使用ServletSessionListener监听器的初始化和销毁实现增加和删除 2.在线用户信息:使用ServletRequestListener监听器的初始化实现获取用户信息 3.保存:保存于全局的getSession.getServletContext().getAttribute("","")里面 4.${userNumber}是EL表达式,可以获取userNumber的值 EL表达式:取出某一范围中名称为username的变量,由于没有指定哪一个范围的username,所以它会依序从Page、Request、Session、Application范围查找。 如果找到username,则直接回传,如果没有找到时,则回传null。查看全部
-
在servlet3.0中,使用监听器不需要再web.xml中注册,只需在类中加入@webListener("")注解并实现至少一个接口(ServletContextListener,ServletContextAttributeListener,ServletRequestListener,ServletRequestAttributeListener,ServletSessionListener,ServletSessionAttributeListener)查看全部
-
监听器的分类-按监听事件划分: 1、监听器绑定到HttpSession域中的某个对象的状态事件监听器; 2、HttpSession中的对象状态: (1)绑定:通过setAttribute(); (2)解除绑定:removeAttribute(); (3)钝化:将session对象序列化到存储设备上 (4)活化:将session对象从存储设备上进行恢复 3、session钝化机制: (1)把服务器中不常使用的session对象暂时的序列化到系统文件或是数据库中,当使用时反序列化到内存中,整个过程有服务器自动完成。 (2)session的钝化机制由SessionManager管理 4、实现绑定和解除绑定,创建一个【普通的javabean】绑定和解除绑定需实现【HttpSessionBindingListener】接口; 实现钝化和活化,需实现HttpSessionActivationListener接口和Serializable接口查看全部
-
监听域对象中的属性的增加和删除的事件监听器 ServletContext、HttpSession、ServletRequest对象的中属性的增加和删除有单独的事件监听器 XXAttributeListner 监听的事件包括 attributeAdded() attributeRemoved() attributeReplaced() getAttribute()和getParameter()区别: request.getAttribute的值获得是从request.setAttribute的值 request.getParameter是URL中加的参数值查看全部
-
ServletRequest的事件监听器(request监听的是用户的每一个访问请求) 实现ServletRequestListener接口用于监听它的创建和销毁事件 一个ServletRequest可以注册多个ServletRequestListener接口 有两个事件处理方法: requestInitialized方法: public void requestInitialized(ServletRequestEvent sre) request创建时调用 获取ServletRequest对象 ServletRequest sr = sre.getServletRequest() 进而获取初始化参数:sr.getInitParmeter("参数名") requestDestroyed方法: public void requestDestroyed(ServletRequestEvent sre) request销毁时调用 ServletRequest的主要用途: 读取参数 记录访问历史查看全部
-
HttpSession的创建和销毁 实现HttpSessionListener接口用于监听它的创建和销毁事件 一个HttpSession可以注册多个HttpSessionListener接口, 一个web应用中可以有多个HttpSession对象 有两个事件处理方法: sessionCreated方法: public void sessionCreated(HttpSessionEvent se) session创建时调用 sessionDestroyed方法: public void sessionDestroyed(HttpSessionEvent se) session销毁时调用 销毁session 1.关闭服务器 2.关闭浏览器 3.不关闭浏览器,session超时: 可以在web.xml配置session超时的时间 <session-config> <session-timeout>0</session-timeout> </session-config> 0:session没有超时的限制 1:session超时1分钟后销毁,但是并不是准确的一分钟 HttpSessionListener的主要用途: 统计在线人数 记录访问日志,记录访问时间、访问的ip查看全部
举报
0/150
提交
取消