定时刷新和跳转和停止
Posted yangj-blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了定时刷新和跳转和停止相关的知识,希望对你有一定的参考价值。
在servlet中
来看一个曾经的项目,跳转到这个Servlet的dopost
@Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { try { testPay(); resp.getWriter().write("ok,查看控制台"); // Thread.sleep(3000);停三秒 // resp.sendRedirect("http://localhost:8080/"); //设置3秒钟跳转 resp.setHeader("refresh", "3;url=http://localhost:8080/"); } catch (Exception e) { e.printStackTrace(); resp.getWriter().write("error"); resp.setHeader("refresh", "3;url=http://localhost:8080/"); }
这里面的问题是如果当初行的是用线程停止,那么什么也不会做,也不会跳转去打印ok,只有用setHeader才行
或者req
//第二种方式,设置request的属性定时跳转 private void test2(HttpServletRequest request,HttpServletResponse response){ String meta="<meta http-equiv=‘Refresh‘ content=‘3;url=/web2/show.jsp‘>"; request.setAttribute("meta", meta); try { request.getRequestDispatcher("/main.jsp").forward(request, response); } catch (ServletException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
在html中
最简单的一种:直接在前面<head>里面添加代码:
<span style="font-size:18px;"> </span> <span style="font-size:24px;"> <meta http-equiv="refresh" content="3;URL=res.html"> </span> <span style="font-size:24px;">//3秒之后自动跳转到res.html,两个属于同一文件下面,要是需要跳转到jsp页面,
就需要在url里面填写url地址————(浏览器的地址栏里面写入的数据,如:http://localhost:8080/TestDemo/1.jsp)</span>
setTimeout 经过指定毫秒值后计算一个表达式
具体实现如下:
<script type="text/javascript"> onload=function(){ <span style="white-space:pre"> </span>//在进入网页的时候加载该方法 setTimeout(go, 3000); <span style="white-space:pre"> </span> /*在js中是ms的单位*/ }; function go(){ location.href="http://localhost:8080/TestDemo/index.jsp"; } </script> //3秒之后自动执行go方法,直接跳转到index.jsp页面
上面两个例子的缺陷就是能够实现跳转,但是不知道是什么时候跳转.实现倒数3-2-1;
settimeout方法已经做不了了;
setInterval 每经过指定毫秒值后计算一个表达式。
没过相同的时间,就会执行相应的函数。具体的实现方法:
<script type="text/javascript"> onload=function(){ setInterval(go, 1000); }; var x=3; //利用了全局变量来执行 function go(){ x--; if(x>0){ document.getElementById("sp").innerHTML=x; //每次设置的x的值都不一样了。 }else{ location.href=‘res.html‘; } } </script>
以上是关于定时刷新和跳转和停止的主要内容,如果未能解决你的问题,请参考以下文章