zoukankan      html  css  js  c++  java
  • 【JavaEE企业应用实战学习记录】getConnListener

    Listener:当Web应用在Web容器中运行时,Web应用内部会不断地发生各种事件,如Web应用被启动、Web应用被停止,用户Session开始,用户session结束、用户请求到达等,这些对Web事件对开发者是透明的。
    ServletAPI提供了大量的监听器来监听Web应用的内部事件,从而允许当Web内部事件发生时回调事件监听器内的方法。
    使用步骤:定义Listener实现类
    通过Annotation或在web.xml文件中配置Listener.
    常用Listener类:
    ServletContextListener:用于监听Web应用的启动和关闭
    ServletContextAttributeListener:用于监听ServletContext范围(application)内属性的改变
    ServletRequestListener:用于监听用户请求
    ServletRequestAttributeListener:用于监听ServletRequest范围(request)内属性的改变
    HttpSessionListener:用于监听用户session的开始和结束
    HttpSessionAttributeListener:用于监听HttpSession范围(session)内属性的改变

     1 package sanglp.servlet;
     2 
     3 import javax.servlet.ServletContext;
     4 import javax.servlet.ServletContextEvent;
     5 import javax.servlet.ServletContextListener;
     6 import javax.servlet.annotation.WebListener;
     7 import java.sql.Connection;
     8 import java.sql.DriverManager;
     9 import java.sql.SQLException;
    10 
    11 /**
    12  * Created by Administrator on 2016/10/5.
    13  */
    14 @WebListener
    15 public class GetConnListener implements ServletContextListener {
    16 
    17     //应用启动时,该方法被调用
    18     @Override
    19     public void contextInitialized(ServletContextEvent servletContextEvent) {
    20     try{
    21         //获取该应用的ServletContext实例
    22         ServletContext application=servletContextEvent.getServletContext();
    23         //从配置参数中获取驱动
    24         String driver=application.getInitParameter("driver");
    25         String url=application.getInitParameter("url");
    26         String user=application.getInitParameter("user");
    27         String pass=application.getInitParameter("pass");
    28         Class.forName(driver);
    29         Connection conn= DriverManager.getConnection(url,user,pass);
    30         application.setAttribute("conn",conn);
    31     }catch(Exception e){
    32     e.getMessage();
    33     }
    34     }
    35 
    36     //应用关闭时,给方法被调用
    37     @Override
    38     public void contextDestroyed(ServletContextEvent servletContextEvent) {
    39      //取得该应用的ServletContext实例
    40         ServletContext application=servletContextEvent.getServletContext();
    41         Connection conn=(Connection)application.getAttribute("conn");
    42         //关闭数据库连接
    43         if(conn!=null){
    44             try{
    45                 conn.close();
    46             }catch(SQLException e){
    47                 e.printStackTrace();
    48             }
    49         }
    50     }
    51     /*
    52     ServletContextListener获取的是Web应用的配置参数,而不是Servlet和Filter获取本身的配置参数。因为Listener配置十分简单只能指定实现类,不能配置初始化参数
    53     <listener>
    54     <listener-class>sanglp.servlet.GetConnListener</listener-class>
    55     </listener>*/
    56 }
  • 相关阅读:
    MPX
    Centos7 LVM扩充存储空间
    capjoint conversations with Chenweiwen
    STA/LTA方法
    capjoint一些生成文件的解释
    搜索震源机制解
    git学习教程
    SAC处理命令transfer的一些详细介绍
    fastjson学习笔记
    语法检查程序LanguageTool学习和使用笔记
  • 原文地址:https://www.cnblogs.com/dream-to-pku/p/5933208.html
Copyright © 2011-2022 走看看