如何在Spring + JSP中查看发送请求和获取响应之间的时差

时间:2014-07-01 09:52:50

标签: java javascript hibernate jsp timestamp

我触及了这部分代码。

我正在使用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}">  &lt;&lt; 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);

}

但它没有在这个页面中显示时间并且直接进入下一页然后显示时间。但是,我的函数正在执行,因为如果我给出返回false,它不会进入下一页而不显示任何内容。< / p>

为什么会发生这种情况以及如何在转到下一页之前从该javascript获取时间戳?

请帮忙......

2 个答案:

答案 0 :(得分:0)

这段java代码将日期打印到JS函数

function displayTimeFunctionP() {
  <% Timestamp t1 = new Timestamp(new Date().getTime());%>
  <%System.out.println("Time stamp in onclick() function[previous] :"+t1); %>  
  return false;
}

解析为:

function displayTimeFunctionP() { 
  return false;
}

并打印到您的服务器系统中: onclick()函数中的时间戳[上一页] 23423424234 不在您的页面中。

执行onclick后,它还会执行href导航并更改页面。

要在网页中打印,您应该使用 out.println (没有系统),但如果您将文本直接打印到JS函数中,则会出现javascript错误。这并不能阻止导航器加载下一页。你应该使用javascript&#34; document&#34;或DOM在某个地方打印文本。

答案 1 :(得分:0)

试试这个: 首先在你的html或jsp中定义如下:

<p id="demo"></p>

并添加以下脚本:

 <script>
    function myFunction() {
      var d = new Date();
      document.getElementById("demo").innerHTML = d ;
    }
</script>

如果要打印毫秒,请尝试

d.getMilliseconds()