首页 > 编程 > JSP > 正文

提升JSP应用程序的秒,招

2019-11-02 15:11:12
字体:
来源:转载
供稿:网友

   方法一:在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(NamingExc

天龙影院[www.aikan.tv/special/tianlongyingyuan/]
eption ne)

  {

  ne.printStackTrace();

  }

  catch(Exception e)

  {

  e.printStackTrace();

  }

  }

  public javax.sql.DataSource getTestDS()

  {

  return testDS;

  }

  ...

  ...

  }

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表