Java Web之监听器(Listener)

               Java Web之Servlet监听器(Listener)

 

 

1. Listener的作用:做一些初始化的内容添加工作,设置一些基本的内容,比如是一些参数或是一些固定的对象等。

 

2. Listener监听对象:

       ServletContext:application,整个应用只存在一个

         HttpSession:  session,针对每一个对话

    ServletRequest:request,针对每一个客户请求

 

 2.1按照监听的对象划分

   (1)用于监听应用程序环境对象(ServletContext)的事件监听器,实现ServletContextListener、ServletContextAttributeListener              接口。

   (2)用于监听用户会话对象(HttpSeesion)的事件监听器,实现HttpSessionListener、HttpSessionAttributeListener接口。

   (3)用于监听请求消息对象(ServletRequest)的事件监听器,实现ServletRequestListener、ServletRequestAttributeListener                 接口。

 

 

3. Listener的开发流程:

                    1、创建一个实现监听器接口的类

                    2、配置web.xml文件,注册监听器

             <listener>
                <listener-class>完整类名</listener-class>
              </listener>

    3.1实现三种监听对象的接口。

(1)ServletContext的创建和销毁:contextInitialized方法和contextDestroyed方法

//实现ServletContextListener接口
public class MyApplicationListener implements ServletContextListener{
 public void contextDestroyed(ServletContextEvent arg0){
   //应用销毁时的代码
}
public void contextInitialized(ServletContextEvent arg0){
//应用初始化时代码
}
}

 (2)主要用途:作为定时器、加载全局属性对象、创建全局数据库连接、加载缓存信息等

            (3)在web.xml中可以配置项目初始化信息,在contextInitialized方法中进行启动

                   <context-param>

                        <param-name>属性名</param-name>

                            <param-value>属性值</param-value>

                        </context-param>

 

           (1)HttpSession的创建和销毁:sessionCreated和sessionDestroyed方法。

//实现HttpSessionListener接口

public class MySessionListener implements HttpSessionListener{

  public void sessionCreated( HttpSessionEvent arg0){

        //会话创建时的代码

        …….

}

public void sessionDestroyed(HttpSessionEvent arg0){

//会话销毁时的代码

……

}

}

               (2)主要用途:统计在线人数、记录访问日志等

               (3)web.xml配置session超时参数,单位:分,session超时的时间并不是精确的

                         <session-config>
                                <session-timeout>10</session-timeout>
                          </session-config>

 

(1)ServletRequest的创建和销毁:requestInitialized和requestDestroyed方法。

 //实现HttpRequestListener接口
public class MyRequestListener implements ServletRequestListener{
  public void requestDestroyed( ServletRequestEvent arg0){
//请求销毁时的代码
………
}
  public void requestInitialized( ServletReuqestEvent arg0){
     //请求销毁时的代码
}
}

   (2)主要用途:读取request参数,记录访问历史

 

4. 监听内容:创建、销毁、属性改变事件

 

5. 监听作用:可以在事件发生前、发生后进行一些处理,一般可以用来统计在线人数和在线用户、统计网站访问量、系统启动时     初始化信息等。

 

6.监听器的启动顺序:按照web.xml的配置顺序来启动

     加载顺序:监听器>过滤器>Servlet

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值