程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> 提升JSP應用程序的秒招

提升JSP應用程序的秒招

編輯:關於JSP

       方法一:在servlet的init()方法中緩存數據

      當應用服務器初始化servlet實例之後,為客戶端請求提供服務之前,它會調用這個servlet的init()方法。在一個servlet的生命周期中,init()方法只會被調用一次。通過在init()方法中緩存一些靜態的數據或完成一些只需要執行一次的、耗時的操作,就可大大地提高系統性能。

      例如,通過在init()方法中建立一個JDBC連接池是一個最佳例子,假設我們是用jdbc2.0的DataSource接口來取得數據庫連接,在通常的情況下,我們需要通過JNDI來取得具體的數據源。我們可以想象在一個具體的應用中,如果每次SQL請求都要執行一次JNDI查詢的話,那系統性能將會急劇下降。解決方法是如下代碼,它通過緩存DataSource,使得下一次SQL調用時仍然可以繼續利用它:

      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;

      }

      ...

      ...

      }

      方法 2:禁止servlet和JSP 自動重載(auto-reloading)

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved