提升JSP页面响应速度的七大秘籍绝招文章分类:Java编程方法一:在servlet的init()方法中缓存数据当应用服务器初始化servlet实例之后,为客户端请求提供服务之前,它会调用这个servlet的init()方法
在一个servlet的生命周期中,init()方法只会被调用一次
通过在init()方法中缓存一些静态的数据或完成一些只需要执行一次的、耗时的操作,就可大大地提高系统性能
例如,通过在init()方法中建立一个JDBC连接池是一个最佳例子,假设我们是用jdbc2
0的DataSource接口来取得数据库连接,在通常的情况下,我们需要通过JNDI来取得具体的数据源
我们可以想象在一个具体的应用中,如果每次SQL请求都要执行一次JNDI查询的话,那系统性能将会急剧下降
解决方法是如下代码,它通过缓存DataSource,使得下一次SQL调用时仍然可以继续利用它:以下是引用片段:publicclassControllerServletextendsHttpServlet{privatejavax
DataSourcetestDS=null;publicvoidinit(ServletConfigconfig)throwsServletException{super
init(config);Contextctx=null;try{ctx=newInitialContext();testDS=(javax
DataSource)ctx
lookup("jdbc/testDS");}catch(NamingExceptionne){ne
printStackTrace();}}catch(Exceptione){e
printStackTrace();}}publicjavax
DataSourcegetTestDS(){returntes