我有一个jsp页面,上面有单独的模块或小部件。为了改善页面的整体加载时间,我想要并行获取这些独立模块。 我有两个策略:
1:JQUERY AJAX
function getSimilars(){
$('#similars').load('getSimilars.jsp');
}
function getActivity(){
$('#activity').load('getActivity.jsp');
}
$(document).ready(function(){
var funcList = ['getSimilars','getActivity'];
$.each(funcList, function(i,v){
window[v]();
})
});
2:STATIC INCLUDE
<div id="similars">
<%@include file="getSimilars.jsp" %>
</div>
<div id="activity">
<%@include file="getActivity.jsp" %>
</div>
我知道 1 在浏览器中运行,而 2 在编译期间运行。但是这些会使我的页面加载速度更快?
修改
虽然jquery方法在并行中运行两个函数,但我认为第二种方法使那些2 include
运行串行。我是对的吗?
答案 0 :(得分:2)
选项1&gt; 通过ajax加载页面将加载部分页面加载速度更快,但是2页加载时间的其余部分在页面调用期间每次都会变化,这取决于网络带宽。
选项2&gt; 我们从Java EE规范中了解到,所有jsp页面都是第一次编译为servlet,然后不需要进一步编译,生成的.class文件直接在以后的页面调用中执行。
因此页面加载不会有任何进一步的时间依赖性。
现在,如果应用程序同时需要整页,则应选择选项2 。
在哪里
如果加载延迟加载体验的应用程序页面可以用于更好的用户体验,则应选择选项1 。