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

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

难度初级
时长 1小时30分
学习人数
综合评分9.70
269人评价 查看评价
9.8 内容实用
9.7 简洁易懂
9.6 逻辑清晰
  • 三种监听器增加删除更新
    查看全部
  • @index.jsp <%=request.getSession().getAttribute("currentUser") %> @init.jsp request.getSession().setAttribute("currentUser", new com.imooc.entity.User()); @destory.jsp request.getSession().removeAttribute("currentUser"); Ps:要想实现钝化和活化,除了需实现HttpSessionActivationListener接口还需要实现Serializable接口。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • @User.java public class User implements HttpSessionBindingListener,HttpSessionActivationListener,Serializable { private static final long serialVersionUID = 1L; private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } 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()); } Ps:状态:session中对象的状态,而不是监听器状态。
    查看全部
  • HttpSession中的对象状态: (1)绑定:通过setAttribute保存到session对象当中; (2)解除绑定:removeAttribute; (3)钝化:将session对象持久化到存储设备上; (4)活化:将session对象从存储设备上进行恢复。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • //第一次Init requestInitialized:null Request_attributeReplaced:org.apache.catalina.ASYNC_SUPPORTED Request_attributeAdded:requestName Session_attributeAdded:sessionName Application_attributeAdded:applicationName requestDestroyed //第二次Init requestInitialized:null Request_attributeReplaced:org.apache.catalina.ASYNC_SUPPORTED Request_attributeAdded:requestName Session_attributeReplaced:sessionName Application_attributeReplaced:applicationName requestDestroyed Q:为何request第二次是add不是replace? 答:因为在第一次的结尾已经销毁了。只有一种方法可以调用replace,见init.jsp。 //点击Destory requestInitialized:null Request_attributeReplaced:org.apache.catalina.ASYNC_SUPPORTED Session_attributeRemoved:sessionName Application_attributeRemoved:applicationName requestDestroyed Q:为何request没有remove? 答:因为每次request都会销毁。但也可以remove——request,见init.jsp。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • @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 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • 监听对象
    查看全部
  • 监听器-》过滤器-》Servlet
    查看全部
  • 监听器监听顺序按web.xml注册顺序
    查看全部
  • 监听器用途
    查看全部
  • 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • 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监听的是用户的每一个访问请求 Ps:别忘了监听器的web设置。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • HttpSession的创建和销毁 实现HttpSessionListener接口用于监听它的创建和销毁事件 一个HttpSession可以注册多个HttpSessionListener接口, 一个web应用中可以有多个HttpSession对象 有两个事件处理方法: sessionCreated方法: public void sessionCreated(HttpSessionEvent se) session创建时调用 sessionDestroyed方法: public void sessionDestroyed(HttpSessionEvent se) session销毁时调用 HttpSessionListener的主要用途: 统计在线人数 记录访问日志,记录访问时间、访问的ip /** * 销毁session * 1.关闭服务器 * 2.关闭浏览器 * 3.不关闭浏览器,session超时 */ 不关闭浏览器,session超时 可以在web.xml配置session超时的时间 <session-config> <session-timeout>0</session-timeout> </session-config> 0:session没有超时的限制 1:session超时1分钟后销毁,但是并不是准确的一分钟 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • @ServletContext的创建和销毁 实现ServletContextListener接口用于监听它的创建和销毁事件 一个项目中可以有多个ServletContextListener,但是只有一个ServletContext对象 @有两个事件处理方法: 1、public void contextInitialized( ServletContextEvent sce ) ServletContext创建时调用 参数 ServletContextEvent 事件对象,可以获取ServletContext对象以及一些初始化参数 例如: 获取ServletContext对象: ServletContext sc = sce.getServletContext(); 获取初始化参数:sc.getInitParmeter("参数名称"); 初始化参数在web.xml中配置: <context-param> <param-name>initParam</param-name> <param-value>imocc</param-value> </context-param> 也可以往ServletContext里放一些值进去, sc.setAttribute("name",obj), 然后在其它地方获取getAttribute("name") 2、public void contextDestroyed( ServletContextEvent sce ) ServletContext销毁时调用 主要用于数据库链接关闭时释放一些资源,以免过度的占用。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部

举报

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

微信扫码,参与3人拼团

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

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