电竞比分网-中国电竞赛事及体育赛事平台

分享

技術1:在HttpServlet init()方法中緩存數(shù)據(jù)

 小陳 2007-05-15
在HttpServlet init()方法中緩存數(shù)據(jù)     -|D.T.S_Cloud 發(fā)表于 2005-6-27 15:34:00
服務器會在創(chuàng)建servlet實例之后和servlet處理任何請求之前調用servlet的init()方法。該方法在servlet的生命周期中僅調用一次。為了提高性能,在init()中緩存靜態(tài)數(shù)據(jù)或完成要在初始化期間完成的代價昂貴的操作。例如,一個最佳實踐是使用實現(xiàn)了javax.sql.DataSource接口的JDBC連接池。DataSource從JNDI樹中獲得。每調用一次SQL就要使用JNDI查找DataSource是非常昂貴的工作,而且嚴重影響了應用的性能。Servlet的init()方法可以用于獲取DataSource并緩存它以便之后的重用:
public class ControllerServlet extends HttpServlet
{
   private javax.sql.DataSource testDS = null;

   public void init(ServletConfig config) throws ServletException
   {
      super.init(config);
      Context ctx  = null;
      try
      {
         ctx = new InitialContext();
         testDS = (javax.sql.DataSource)ctx.lookup("jdbc/testDS");
      }
      catch(NamingException ne)
      {
         ne.printStackTrace();             
       }
       catch(Exception e)
       {
          e.printStackTrace();
       }
   }

   public javax.sql.DataSource getTestDS()
      {
         return testDS;
      }
   ...
   ...
}

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多