高效能、高彈性JSP和Servlet效能最佳化

來源:互聯網
上載者:User

  你的J2EE應用是不是啟動並執行很慢?它們能不能承受住不斷上升的訪問量?本文講述了開發高效能、高彈性的JSP頁面和Servlet的效能最佳化技術。其意思是建立儘可能快的並能適應數量增長的使用者及其請求。在本文中,我將帶領你學習已經實踐和得到證實的效能調整技術,它將大大地提高你的servlet和jsp頁面的效能,進而提升J2EE的效能。這些技術的部分用於開發階段,例如,設計和編碼階段。另一部分技術則與配置相關。

  技術1:在HttpServlet init()方法中快取資料

  伺服器會在建立servlet執行個體之後和servlet處理任何請求之前調用servlet的init()方法。該方法在servlet的生命週期中僅調用一次。為了提高效能,在init()中緩衝待用資料或完成要在初始化期間完成的代價昂貴的操作。例如,一個最佳實務是使用實現了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;
     }
    ...
    ...
  }



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.