小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

用Servlet實現(xiàn)項目運行之前(初始化)加載一些配置數(shù)據(jù)

 Go_Ahead 2012-12-03
        從這個例子中,學習到很多,之前也遇到過這種問題可能是沒有注意總結(jié),呵呵,真有點惋惜~做一個筆記以提醒自己,下次遇到類似的需求可以借鑒此種方法,學習其中的優(yōu)勢。因為,之前做過一些JSP 、Servlet的項目,但只是在web.xml中配置一些基本的servlet信息,其它的一些關于servlet的配置沒有使用過,其實它的其它配置還是很強大的,如果運用靈活在項目中就非常方便了。
        用Servlet實現(xiàn)在服務器啟動的時候就去初始化一些數(shù)據(jù),主要分為兩步:
        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 {
                                     //這里就在初始化的時候連接數(shù)據(jù)庫
                                     FruitManager fruitManager = (FruitManager) ApplicationContextHolder
                                                          .getBean("fruitManager");
                                     List<Dict> fruitList = fruitManager.findAll();
                                     //這里要做到的一個目的是:把[ruitList]集合中的數(shù)據(jù)分類別先放在一個List集合中,然后再把此List放到Map里,以供在頁中顯示
                                     //如下所示fruitMap集合
                                     Map<String, List<Fruit>> fruitMap = null;
                                     if (null != fruitList && fruitList.size() > 0) {
                                                    fruitMap = new HashMap<String, List<Fruit>>();
                                                    for (Fruit fruit: fruitList) {
                                                          if (null != fruit) {
                                                                  String category = fruit.getCategory();
                                                                  //認真理解并在以后的程序中使用[不用那么麻煩,2步就搞定]
                                                                  List<Fruit> list = fruitMap.get(category);
                                                                  if (null == list) {
                                                                                list = new ArrayList<Fruit>();
                                                                  }
                                                                  list.add(fruit);
                                                               fruitMap.put(category, list);

                                                      }
                                                }
                                   }
                     //把查詢出來的數(shù)據(jù)保存起來,然后在項目中用
                     getServletContext().setAttribute(Constants.APPLICATION_KEY_DICT_MAP,
                                                         dictMap);

                     super.init();
 }
}
 
      2、Servlet完成以后,就需要在web.xml中配置(讓程序啟動的時候就調(diào)用此servlet,初始化數(shù)據(jù))--關于Servlet的配置有很多,可多查閱查閱相關文檔
             <servlet>
                         <servlet-name>myInitializeServlet </servlet-name>
                         <servlet-class>com.system.util.myInitializeServlet </servlet-class>
                          <load-on-startup>1</load-on-startup><!--這里的配置表示:此Servlet第一個執(zhí)行(當項目中有多個初始化的Servlet的時候)-->
             </servlet>
             <servlet-mapping>
                           <servlet-name>myInitializeServlet</servlet-name>
                           <url-pattern>/myInitializeServlet</url-pattern>
            </servlet-mapping>           
 
兩步都完成以后,就可以啟動程序,可以在日志里面看到初始化的數(shù)據(jù)信息。

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多