Sha*_*n F 22 java performance jsp
我开始将一个大的JSP文件拆分成一些较小的JSP页面,这样我就可以在网站的其他区域重用它.
我可以采用离开的方法作为一个大型的Monolithic JSP文件,它接受参数并相应地调整它的行为.我可以采取的另一种方法是将它分开,以便通过jsp:include调用它.
创建从服务器内调度的其他请求调用时,性能问题是什么?将它保存为一个jsp页面是否更好的性能?
Vin*_*lds 24
这jsp:include是一个运行时指令,不像<%@ include ... %>指令恰好是编译时指令(实际上是转换时间).编译时include指令相对无害,因为JSP通常是为生产预编译的,或者是在为应用程序的每个部署编译的最坏情况下.因此,最好对静态文件使用编译时指令,因为文件不会在运行时更改.
另一个头上的运行时include指令,如果误用,可能会导致一些性能损失,特别是对于包含的静态文件.这主要是因为JSP容器必须获取静态文件的内容并将它们包含在响应中.因此,保留运行时指令的用法,用于真正有用的场景,其中另一个servlet或jsp的响应将包含在响应中,而不仅仅是使代码看起来很好.
Kei*_*ler 17
你应该使用:
<%@ include file="page.jsp" %>
Run Code Online (Sandbox Code Playgroud)
这会在翻译时添加page.jsp的内容,并且没有开销.
<jsp:include page="page.jsp" />
Run Code Online (Sandbox Code Playgroud)
您的方法在运行时添加内容并增加了大量开销.
include该include指令在翻译过程中制作包含页面的副本并将其复制到 JSP 页面(“包含页面”)中。这称为静态包含(或翻译时包含)并使用以下语法:
<%@ include file="/jsp/userinfopage.jsp" %>
Run Code Online (Sandbox Code Playgroud)
该jsp:include操作在运行时动态地将包含页面的输出包含在包含页面的输出中。这称为动态包含(或运行时包含)并使用以下语法:
<jsp:include page="/jsp/userinfopage.jsp" flush="true" />
Run Code Online (Sandbox Code Playgroud)
静态包含影响页面大小;动态包含影响处理开销。静态包含避免了动态包含所需的请求调度程序的开销,但在涉及大文件时可能会出现问题。
动态包含确实增加了处理开销,需要额外调用请求调度程序。
http://docs.oracle.com/cd/A97336_01/buslog.102/a83726/keydev1.htm#1015959 http://docs.oracle.com/cd/A97336_01/buslog.102/a83726/genlovw3.htm
| 归档时间: |
|
| 查看次数: |
12031 次 |
| 最近记录: |