为了账号安全,请及时绑定邮箱和手机立即绑定

JAVA Web开发技术应用——监听器

难度初级
时长 1小时30分
学习人数
综合评分9.70
269人评价 查看评价
9.8 内容实用
9.7 简洁易懂
9.6 逻辑清晰
  • 监听器实际用途
    查看全部
  • web监听器的作用
    查看全部
    0 采集 收起 来源:概述

    2016-03-24

  • 监听器总结续 二、Listenner的注册 Javaweb的这些特别的监听器注册比较简单,因为ServletRequest、HttpSession、ServletContext对象都是容器创建的,所以需要它们的监听器的话,只需要在应用的web-info的web.xml里配置即可: <listener> <listener-class>com.test.listener.MyHttpSessionAttributeListener</listener-class> <listener-class>com.test.listener.MyServletContextAttributeListener</listener-class> <!-- 多个实现相同的Listenner接口,在执行时是按web.xml注册出现的来决定。 --> </listener> 注意:感知型监听器HttpSessionBindingListener、HttpSessionActivationListener不需要注册。 三、应用场景: 由于ervletRequest、HttpSession、ServletContext对象都是容器创建的,什么时候创建,用户都不知道。通过实现这些对象的监听器后,就可以得知了。比如: 1>在ServletContextLintener监听器的contextInitialized方法中,进行应用级的资源初始化以便提高效率,在contextDestroyed方法中对应用级的资源进行释放。 2>又比如web应用中,会存在会话,通常的作法是将当前登录的用户存放在session会话中。那么如何统计在线人数话,如何显示出当前登录的用户呢。如何踢出某些已登录的用户呢。就可以通过HttpSessionAttributeListener监听器的attributeAdded方法,等等。 四、优先级顺序 监听器->过滤器->Servlet 五、在Servlet3.0下的使用 通过在类前添加注解@WebListener即可,不用在web.xml中配置,在servlet3.0中监听器没有顺序
    查看全部
    0 采集 收起 来源:监听器总结

    2018-03-22

  • 监听器总结: 一、监听器分类 在Servlet规范中定义了多种类型的监听器,它们用于监听的事件源分别为SerlvetConext,HttpSession和ServletRequest这三个域对象。 Servlet规范针对这三个对象上的操作,又把这多种类型的监听器划分为三种类型: 1>监听三个域对象创建和销毁的事件监听器 2>监听域对象中属性的增加和删除的事件监听器 3>监听绑定到HttpSession域中的某个对象的状态的时间监听器。 a、如三个域对象的创建与销毁方法签名: 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) b、三个类型对象域中属性增、删、改的监听器(3个) ServletContextAttributeListener, HttpSessionAttributeListener, ServletRequestAttributeListener c、感知型监听器(2个):监听自己何时被帮到session上,何时解绑;何时被钝化,何时被活化(序列化到某个存储设置中)。 注意:这种监听器不需要注册。某个javabean实现这些接口后就可以监听何时被绑定、解绑或被激活或钝化。 HttpSessionBindingListener:实现该接口的类,能检测自己何时被Httpsession绑定和解绑 HttpSessionActivationListener:实现该接口的类(要求些javabean必须是实现了Serializable接口的),能监测自己何时随着HttpSession一起激活和钝化。
    查看全部
    0 采集 收起 来源:监听器总结

    2018-03-22

  • public void valueBound(HttpSessionBindingEvent arg0) { System.out.println("valueBound:" + arg0.getName()); } public void valueUnbound(HttpSessionBindingEvent arg0) { System.out.println("valueUnbound:" + arg0.getName()); } // 活化 public void sessionDidActivate(HttpSessionEvent se) { System.out.println("sessionDidActivate:" + se.getSource()); } // 钝化 public void sessionWillPassivate(HttpSessionEvent se) { System.out.println("sessionWillPassivate:" + se.getSource()); } 要想实现钝化和活化,除了需实现HttpSessionActivationListener接口还需要实现Serializable接口。
    查看全部
  • HttpSession中的对象状态: (1)绑定:通过setAttribute保存到session对象当中; (2)解除绑定:removeAttribute; (3)钝化:将session对象持久化到存储设备上; (4)活化:将session对象从存储设备上进行恢复。
    查看全部
  • @init.jsp <% request.setAttribute("requestName", "requestValue"); request.getSession().setAttribute("sessionName", "sessionValue"); request.getSession().getServletContext().setAttribute("applicationName", "applicationValue"); //request.setAttribute("requestName", "requestValue");//只有这种办法可以调用request的replace。 //request.removeAttribute("requestName");//可以调用request的remove。 %> 初始化值的界面 @destory.jsp <% request.removeAttribute("requestName"); request.getSession().removeAttribute("sessionName"); request.getSession().getServletContext().removeAttribute("applicationName"); %> 销毁的界面 Ps1: request.getAttribute的值获得是从request.setAttribute的值,不能获取类似www.immoc.com/username=imooc的参数值; request.getParameter是请求的参数值,如www.immoc.com/username=imooc。 Ps2: request——request request.getSession()——session request.getSession().getServletContext()——application
    查看全部
  • ServletRequest的事件监听器 实现ServletRequestListener接口用于监听它的创建和销毁事件 一个ServletRequest可以注册多个ServletRequestListener接口, 有两个事件处理方法: requestInitialized方法: public void requestInitialized(ServletRequestEvent sre) request创建时调用 参数ServletRequestEvent可以获取ServletRequest对象 ServletRequest sr = sre.getServletRequest() 进而获取初始化参数:sr.getInitParmeter("") requestDestroyed方法: public void requestDestroyed(ServletRequestEvent sre) request销毁时调用 ServletRequest的主要用途: 读取参数 记录访问历史 request监听的是用户的每一个访问请求
    查看全部
  • HttpSession的创建和销毁 实现HttpSessionListener接口用于监听它的创建和销毁事件 一个HttpSession可以注册多个HttpSessionListener接口, 一个web应用中可以有多个HttpSession对象 有两个事件处理方法: sessionCreated方法: public void sessionCreated(HttpSessionEvent se) session创建时调用 sessionDestroyed方法: public void sessionDestroyed(HttpSessionEvent se) session销毁时调用 HttpSessionListener的主要用途: 统计在线人数 记录访问日志,记录访问时间、访问的ip
    查看全部
  • 按监听器的对象划分: a 用户监听应用程序环境对象(ServletContext)的事件监听器 b 用于监听用户会话对象(HttpSession)的事件监听器 c 用于监听请求消息对象(ServletRequest)的事件监听器
    查看全部
  • 有多个监听器的时候,按web.xml中注册顺序启动 监听器>过滤器>servlet的启动顺序
    查看全部
  • Web监听器的用途: 1,统计在线人数和在线用户。 2,系统启动时加载初始化信息。 3,统计网站访问量。 4,跟Spring结合。
    查看全部
  • Web监听器 Servlet规范中定义的一种特殊类 用于监听ServletContext、HttpSession和ServletRequest等域对象的创建与销毁事件 用于监听域对象的属性发生修改的事件 可以在事件发生前、发生后做一些必要的处理
    查看全部
    0 采集 收起 来源:概述

    2016-03-24

  • @WebListener
    查看全部
  • 1.在javax.servlet.Filter中直接获取 ServletContext context = config.getServletContext(); 2.在HttpServlet中直接获取 this.getServletContext() 3.在其他方法中,通过HttpRequest获得 request.getSession().getServletContext();
    查看全部

举报

0/150
提交
取消
课程须知
亲,要学习本门课程需要对JSP和Servlet有所了解呦。如未学习上述知识,可移步网站相关课程。
老师告诉你能学到什么?
通过对本课程的学习,可以掌握监听器的基础知识,深入了解监听器的处理机制和分类方式,并可以让自己更快的动手编写监听器的例子。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!