【发布时间】:2014-08-21 20:07:23
【问题描述】:
我在这部分代码中遇到了问题。
我正在使用 Spring+Hibernate 从数据库和 JSP 中获取记录以查看这些记录。
这里的问题是显示 500 条记录需要将近 10 秒 :(
所以,我保留了一些时间戳,以查看需要更多时间的地方。
我发现了一些有趣的东西:
1.从jsp页面转到DAO,我有代码来获取记录需要更多时间(不知道具体需要多少时间)
2.从数据库中获取记录需要几毫秒
3. 将它们显示回 jsp 需要 3 秒。
我的问题是如何在第一种情况下找到时间。我在剩下的两种情况下成功找到时间。
所以,我把时间戳放在 JSP 中
<c:if test="${currentPage != 1}">
<a onclick="return displayTimeFunctionP();" class="button" href="pagination.html? page=${currentpage-1}"> << Previous </a>
</c:if>
javascript:
function displayTimeFunctionP() {
<% Timestamp t1 = new Timestamp(new Date().getTime());%>
<%System.out.println("Time stamp in onclick() function[previous] :"+t1); %>
return false(true also I tested);
}
但是这个页面不显示时间,直接进入下一页,然后显示时间。但是,我的函数正在执行,因为如果我给return false它不会进入下一页并且不显示任何内容。
为什么会发生这种情况以及如何在转到下一页之前从该 javascript 中获取时间戳?
请帮忙....
【问题讨论】:
-
首先要寻找的是瓶颈在哪里。是Java获取结果吗?网络(您是否提供了太多开销?)?是渲染部分吗?应该归咎于哪个 JavaScript?
标签: java javascript hibernate jsp timestamp