新开传奇网站迷失版,保定市做网站的电话,河间米各庄网站建设制作,wordpress管理员表1、Listener
是由Java编写的WEB组件#xff0c;主要完成对内置对象状态的变化 #xff08;创建、销毁#xff09;和属性的变化 进行监听#xff0c;做进一步的处理作用#xff1a;主要对session和application内置对象监听。
2、对application监听 package cn.mldn.lxh.l…1、Listener
是由Java编写的WEB组件主要完成对内置对象状态的变化 创建、销毁和属性的变化 进行监听做进一步的处理作用主要对session和application内置对象监听。
2、对application监听 package cn.mldn.lxh.listener ;
import javax.servlet.* ;public class ServletContextDemoimplements ServletContextListener,ServletContextAttributeListener
{private ServletContext application null ;// 实现方法public void contextInitialized(ServletContextEvent sce){this.application sce.getServletContext() ;System.out.println(** 上下文初始化 ...) ;System.out.println(** 当前虚拟目录的绝对路径this.application.getRealPath(/)) ;}public void contextDestroyed(ServletContextEvent sce){System.out.println(** 上下文销毁 ...) ;}public void attributeAdded(ServletContextAttributeEvent scab){System.out.println(** 增加属性scab.getName() -- scab.getValue()) ;}public void attributeRemoved(ServletContextAttributeEvent scab){System.out.println(** 删除属性scab.getName() -- scab.getValue()) ;}public void attributeReplaced(ServletContextAttributeEvent scab){System.out.println(** 替换属性scab.getName() -- scab.getValue()) ;}
};/*listenerlistener-classcn.mldn.lxh.listener.ServletContextDemo/listener-class/listener
*/1、语法
是WEB组件一定要有包声明 package cn.mldn.lxh.listener ;包导入 javax.servlet实现接口 ServletContextListener ServletContextAttributeListener实现接口的方法
2、实现方法
实现的两个接口一个是为了实现对application状态监听的方法一个是为了实现对applciation属性的变化监听的方法。如下
对applicaiton的状态做监听 implements ServletContextListener 实现两个方法
public void contextInitialized(ServletContextEvent sce);
tomcat一启动先创建出监听器对application的创建和销毁做监听。当application一创建被监听器监听到就调用contextInitialized方法
public void contextDestroyed(ServletContextEvent sce); 当application一销毁监听器就会监听到applicaiton销毁调用contextDestoryed
对applicaiton里属性的变化做监听 , implements ServletContextAttributeListener
public void attributeAdded(ServletContextAttributeEvent scab)public void attributeRemoved(ServletContextAttributeEvent scab)public void attributeReplaced(ServletContextAttributeEvent scab)
通过实现ServletContextAttributeListener 的三个方法对applcation的属性变化做监听。注意监听到的都是已经完成的变化 。比如往application里设值属性、删除属性、替换属性值等这些都会被监听器监听到。可以通过方法获得增加的属性名和属性值获得删除的属性名和属性值获得替换的属性名和替换前的属性值是被替换的而不是替换后的值
3、Tomcat一启动创建了哪些内置对象
tomcat一启动首先会创建监听器去监听内置对象的状态和属性变化。然后会创建Config对象来收集配置文件中的初始参数一共有会创建两个Config对象分别是封装Servlet初始参数的ServletConfig封装Filter初始参数的FilterConfig。然后会创建applicaiton对象然后创建Filter如果配了loadonstartup就再创建servlet。
3、对session做监听 package cn.mldn.lxh.listener ;import javax.servlet.http.* ;public class HttpSessionDemo implements HttpSessionListener,HttpSessionAttributeListener
{private HttpSession session ;// 实现方法public void sessionCreated(HttpSessionEvent se){this.session se.getSession() ;System.out.println(** Session 创建 ....) ;System.out.println(** SessionID -- this.session.getId()) ;}public void sessionDestroyed(HttpSessionEvent se){System.out.println(** Session 销毁 ....) ;}public void attributeAdded(HttpSessionBindingEvent se){System.out.println(** Session 增加属性:se.getName() -- se.getValue()) ;System.out.println(** 获得Session se.getSession().getId()) ;}public void attributeRemoved(HttpSessionBindingEvent se){System.out.println(** Session 删除属性:se.getName() -- se.getValue()) ;}public void attributeReplaced(HttpSessionBindingEvent se){System.out.println(** Session 替换属性:se.getName() -- se.getValue()) ;}
};
/*listenerlistener-classcn.mldn.lxh.listener.HttpSessionDemo/listener-class/listener
*/包声明包导入类声明实现 HttpSessionListener接口实现对状态监听的方法实现HttpSessionAttributeListener接口实现对属性变化监听的方法
什么时候创建session
我们可以通过public void sessionCreated(HttpSessionEvent se) 来监听session的创建
访问服务器不会访问静态组件不会html只有访问动态组件jsp才会创建请求—第一次发送请求