JavaEE企业应用实战学习记录getConnListener

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 }

 

以上是关于JavaEE企业应用实战学习记录getConnListener的主要内容,如果未能解决你的问题,请参考以下文章

JavaEE企业应用实战学习记录authorityFilter

JavaEE企业应用实战学习记录requestListener

JavaEE企业应用实战学习记录sessionListener

JavaEE企业应用实战学习记录struts国际化

JavaEE企业应用实战学习记录getConnListener

JavaEE企业应用实战学习记录struts2登录