转载请注明: http://blog.csdn.net/plmxsyuts6稻草誓言
几点JSP优化建议:
1.选择正确的include机制
在JSP页面中,有两种包含机制
<@ page include file="xx.jsp" %>
<jsp:include page="xx.jsp" flush="true"%>
前者在编译时直接引入,后者在运行时刻才将所包含的文件引入
前者适合引入静态,变动不频繁的页面
后者适合引入动态,变动频繁的页面
除非文件经常变动,否则使用前者将获得更好的性能
2.正确地使用Session
A.不要将大的对象存储在session
B.用完后及时释放 remove() invalidate()
C.除非必要,jsp页面的session属性尽量不要设为false[虽然一定程度上可以降低开销]
<%@ page session="true|false" buffer="12kb"%>
D. 不要更改session默认超时值[默认30分钟]
3.useBean选择正确的范围
<jsp:useBean id="abc" scope="page|request|session|application" />
scope说明了bean的可见范围,默认值page
根据应用对象需求选择正确的范围,否则将影响性能。
4.采用适当的值初始化out对象的缓冲区【慎用】
<%@ page buffer="8kb"%>
默认为8kb,可以根据实际情况设置一个buffer值,在一定程度上提升性能
除非有一个非常成熟的实际理由,否则最好使用默认。
5.取消jsp自动装载功能
通常情况下,应用服务器都具备自动装载功能,当开发人员对某个jsp页面进行更新后,系统可自动快速地反映出来,节约了开发人员时间
但当应用发布后,应及时取消应用服务器的jsp类自动装载功能,否则会严重影响性能。
6.合理缓冲数据
通常可以利用session对象 application对象缓存数据
二者面向对象不同,应根据需求选择
session.setAttribute(String name,Object object);
session.getAttribute(String name);
application.setAttribute(String name,Object object);
application.getAttribute(String name);
7.用StringBuffer代替String
8.forward与sendRedirect
重定向有两种方式
<jsp:forward page="xx.jsp">
<% response.sendRedirect("xx.jsp")%>
后者将导致客户端url跳转,可以看到新的url
尽量采用forward