我开始将一个较大的JSP文件分解为一些较小的JSP页面,以便可以在站点的其他区域重用此文件。
我可以采用将其作为大的Monolithic JSP文件保留的方法,该文件接受参数并相应地调整其行为。我可以采用的另一种方法是将其分解,以便通过jsp:include进行调用。
在创建从服务器内部分派的其他请求调用时,性能方面的考虑是什么?将其保留为一个jsp页面是否更好,因此性能更明智吗?
该jsp:include是不像一个运行指令,<%@ include ... %>这恰好是一个编译时间指令指令(翻译时间,实际上)。编译时包含指令相对无害,因为JSP通常是为生产而预先编译的,或者在最坏的情况下为应用程序的每次部署都被编译。因此,最好对静态文件使用compile time指令,因为文件在运行时不会更改。
jsp:include
<%@ include ... %>
如果使用不正确,则另一端的运行时包含指令可能会导致性能下降,尤其是对于包含静态文件的情况。这主要是因为JSP容器随后必须获取静态文件的内容,并将其包括在响应中。因此,在真正有用的场景中保留运行时指令的用法,在该场景中,另一个servlet或jsp的响应将包含在响应中,而不仅仅是使代码看起来更好。