一个实现了ServletContextListener接口的简单例子:
package club.chuxing.web; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.List; import java.util.logging.*; import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import club.chuxing.model.Bookmark; { (ServletContextEvent sce) { BufferedReader reader = null; try { ServletContext context = sce.getServletContext(); String bookmarkFile = context.getInitParameter("BOOKMARK"); reader = new BufferedReader(new InputStreamReader( context.getResourceAsStream(bookmarkFile), "UTF-8")); List<Bookmark> bookmarks = new LinkedList<Bookmark>(); List<String> categories = new LinkedList<String>(); String input = null; while ((input = reader.readLine()) != null) { String[] tokens = input.split(","); Bookmark bookmark = new Bookmark(tokens[0], tokens[1], tokens[2]); bookmarks.add(bookmark); if (!categories.contains(tokens[2])) { categories.add(tokens[2]); } } context.setAttribute("bookmarks", bookmarks); context.setAttribute("categories", categories); } catch (IOException ex) { Logger.getLogger(BookmarkInitializer.class.getName()) .log(Level.SEVERE, null, ex); } finally { try { reader.close(); } catch (IOException ex) { Logger.getLogger(BookmarkInitializer.class.getName()) .log(Level.SEVERE, null, ex); } } } (ServletContextEvent sce) { // TODO Auto-generated method stub } } ServletContext属性在整个web应用程序生命周期内,Servlet所需共享的数据可以设置为ServletContext属性。由于ServletContext在web应用程序期间都会一直存在,所以对于设置为ServletContext属性的数据,除非你主动移除,否则也是一直存活于web应用程序之中的。ServletContext的相关方法:
顶 0 踩 0
我的同类文章
猜你在找
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
个人资料
u011331383
积分:3743
文章搜索
博客专栏
Enjoy LintCode
文章:7篇
阅读:1747Enjoy LeetCode
文章:87篇
阅读:44225文章分类
文章存档
阅读排行