Servlet技巧ABC

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

Servlet技巧ABC

1.利用StringBuffer提高速度.

Servlets经常需要显示Html标记,我们很自然想到println()和String串联起来,

但是String是很慢的,但是我们用StringBuffer它快很多.

比较这两例:

用String,

for (int i=0; i<100; i++) {

out.println("Data for " + i + " is " + method1() + " , " + method2() + ".<br>");

}

out.close();

用StringBuffer,可发这样:

StringBuffer buf = new StringBuffer();

for (int i=0; i<100; i++) {

buf.append("Data for ").append(i).append(" is ").append(method1());

buf.append(" , ").append(method2()).append(".<br>");

}

response.setContentLength(buf.length());

out.println(buf.toString());

out.close();

我们用StringBuffer实现我个问题减少了对像的创建个数,

所以它比out.println()更有效.

2.利用HTTP Status Codes显示出错信息.

比如我们常用类似下面的处理

public void openFile( String fileName ) {

try {

someOtherMethodToOpenAFile( fileName );

} catch( FileNotFoundException e ) {

out.println( "Sorry... File not found." );

}

}

为了得用status codes,我们可以这样得用HTTP出错信息:

/* 'response' variable is an object of the

HttpServletResponse class.

*/

public void openFile( String fileName ) {

try {

someOtherMethodToOpenAFile( fileName );

} catch( FileNotFoundException e ) {

response.sendError( response.SC_NOT_FOUND );

}

}

3.在Frame调用Servlet动态生成页面.

在静态页内包含Frame,使"src"指向你希望的Servlet,如:

<frameset rows="20%,*" cols="80%,*">

<frame name="Frame1" src="/servlet/someServlet">

<frame name="Frame2" src="/servlet/anotherServlet">

</frameset>

Frame的src属性可以指向静态页或是servlet.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航