ServletContextListener
来源:互联网 发布:守望先锋配置检测软件 编辑:程序博客网 时间:2024/06/05 05:10
Servlet API里面有一个ServletContextListener的接口,它可以监听ServletContext对象的生命周期。
当Servlet容器启动或者终止的时候就会出发ServletContextEvent时间,这个事件就由ServletContextListener来处理。ServletContextListener接口中定义了处理ServletContextEvent事件的两个方法。
/** Servlet容器启动web应用的时候就会调用此方法进行初始化,在初始化结束之后容器对Filter初始化**/contextInitialized(ServletContextEvent event)
/**当Servlet容器终止web应用的时候调用这个方法。调用此方法之前会先小灰所有的Servlet和FiltercontextDestroyed(ServletContextEvent event)**/
可以利用这个写一个统计网页被客户端访问的次数。
package ServletContextTest; import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; public class MyServletContextListener implements ServletContextListener{ public void contextInitialized(ServletContextEvent sce){ System.out.println("helloapp application is Initialized."); // 获取 ServletContext 对象 ServletContext context=sce.getServletContext(); try{ // 从文件中读取计数器的数值 BufferedReader reader=new BufferedReader( new InputStreamReader(context. getResourceAsStream("/count/count.txt"))); int count=Integer.parseInt(reader.readLine()); reader.close(); // 创建计数器对象 Counter counter=new Counter(count); // 把计数器对象保存到 Web 应用范围 context.setAttribute("counter",counter); } catch(IOException e) { e.printStackTrace(); } } public void contextDestroyed(ServletContextEvent sce){ System.out.println("helloapp application is Destroyed."); // 获取 ServletContext 对象 ServletContext context=sce.getServletContext(); // 从 Web 应用范围获得计数器对象 Counter counter=(Counter)context.getAttribute("counter"); if(counter!=null){ try{ // 把计数器的数值写到 count.txt 文件中 String filepath=context.getRealPath("/count"); filepath=filepath+"/count.txt"; PrintWriter pw=new PrintWriter(filepath); pw.println(counter.getCount()); pw.close(); } catch(IOException e) { e.printStackTrace(); } } }}
0 0
- ServletContextListener
- ServletContextListener
- ServletContextListener
- ServletContextListener
- ServletContextListener
- ServletContextListener
- ServletContextListener
- ServletContextListener
- ServletContextListener
- ServletContextListener
- ServletContextListener
- ServletContextListener
- ServletContextListener
- ServletContextListener
- ServletContextListener
- ServletContextListener
- ServletContextListener
- ServletContextListener应用
- 深度学习方法(七):最新SqueezeNet 模型详解,CNN模型参数降低50倍,压缩461倍!
- 有道云笔记 网络连接失败
- Android——Jni使用总结
- Q-learning寻径(练手)
- Android程序框架设计
- ServletContextListener
- iOS - 一个方法搞定自定义tabBarItem中的控件位置均分
- 有向图强连通分量 模板
- C3P0 详细配置及问题解决大全
- Could not find class 'com.umeng.analytics.d' 解决的方案分享
- Process Hacker源码中的用户态hook的做法
- Android使用FFmpeg
- sybase的sql字段别名,可以直接作为where中的条件
- 解决: Plugin with id 'com.jfrog.bintray' not found.