servlet中输出相关处理结果信息,在几秒后跳转到指定页面


servlet 中的部分代码(未完成):


 response.setContentType("text/html;charset=utf-8");
        PrintWriter out = response.getWriter();

        if(...) { \\此处是登录处理代码 为true表示登录成功
            out.println("登陆成功....3秒后跳转到***");
            /*等待3秒*/
            response.sendRedirect("new.jsp");
        } else {
            out.println("登陆失败....3秒后跳转到***");
            /*等待3秒*/
            response.sendRedirect("other.jsp");
        }

我这个现在还没有加计时器,我在网上搜了下,试了


 try{
    Thread thread = Thread.currentThread();
    thread.sleep(1500);//暂停1.5秒后程序继续执行
}catch (InterruptedException e) {
    e.printStackTrace();
}

这个的结果是点击登录按钮后1.5秒直接跳转,相关信息根本没有显示在页面上,没有过渡页面。


 Response.AddHeader ("refresh", "60;URL=newpath/newpage.jsp") 
Response.SendRedirect("newpage.jsp");

这个我用了没反应,不知道是不是我的代码有问题,我也不了解其工作原理。

servlet javaweb

SABERD 10 years ago

信息没有显示在页面上应该是因为Servlet是同步执行的,可以用Servlet3.0的异步Servlet来处理,用 AsyncContext 来完成,网上资料多的是。另外,楼上的网址亮了。

静静的鱼饼 answered 10 years ago

别麻烦java。
设定自动跳转:


 <META http-equiv="refresh" CONTENT="5;URL=http://www.pornhub.com" >

5秒后页面跳转。

炎零Hambe answered 10 years ago

Your Answer