![](/uploads/thumbs/229.jpg)
从这个例子中,学习到很多,之前也遇到过这种问题可能是没有注意总结,呵呵,真有点惋惜~做一个笔记以提醒自己,下次遇到类似的需求可以借鉴此种方法,学习其中的优势。因为,之前做过一些JSP 、Servlet的项目,但只是在web.xml中配置一些基本的servlet信息,其它的一些关于servlet的配置没有使用过,其实它的其它配置还是很强大的,如果运用灵活在项目中就非常方便了。
用Servlet实现在服务器启动的时候就去初始化一些数据,主要分为两步:
1、建一个Servlet类,重写其init和destroy方法(注意,这里不需要重写doGet/doPost方法,因为我们并不是需要用servlet作请求)
public class myInitializeServlet extends HttpServlet {
@Override
public void destroy() {
// TODO Auto-generated method stub
super.destroy();
}
@Override
public void init() throws ServletException {
//这里就在初始化的时候连接数据库
FruitManager fruitManager = (FruitManager) ApplicationContextHolder
.getBean("fruitManager");
List
//这里要做到的一个目的是:把[ruitList]集合中的数据分类别先放在一个List集合中,然后再把此List放到Map里,以供在页中显示
//如下所示fruitMap集合
Map<String, List
if (null != fruitList && fruitList.size() > 0) {
fruitMap = new HashMap<String, List
for (Fruit fruit: fruitList) {
if (null != fruit) {
String category = fruit.getCategory();
//认真理解并在以后的程序中使用[不用那么麻烦,2步就搞定]
List
if (null == list) {
list = new ArrayList
}
list.add(fruit);
fruitMap.put(category, list);
}
}
}
//把查询出来的数据保存起来,然后在项目中用
getServletContext().setAttribute(Constants.APPLICATION_KEY_DICT_MAP,
dictMap);
super.init();
}
}
2、Servlet完成以后,就需要在web.xml中配置(让程序启动的时候就调用此servlet,初始化数据)--关于Servlet的配置有很多,可多查阅查阅相关文档
两步都完成以后,就可以启动程序,可以在日志里面看到初始化的数据信息。