response.setheader(“刷新”,“0”)不起作用

时间:2013-05-10 06:25:12

标签: java html servlets httprequest

我正在尝试在用户会话过期或连接未激活时刷新我的网页。我尝试了很多代码,但它似乎没有用。我使用的最后一个代码是

if(session.getAttribute("connection") != null && !session.getAttribute("connection").equals("")){
            conn = (DBConnection) session.getAttribute("connection");
            if(conn == null){
                    response.setContentType("text/html");
                    response.setHeader("Refresh", "3");
                    return;
                }
            }else{
                response.setContentType("text/html");
                response.setHeader("Refresh", "3");
                return;
            }

我也尝试过response.sendRedirect()和request.getrequestdispatcher.forward(),但它也没有用。 servlet正在被一个需要json对象的javascript调用。

2 个答案:

答案 0 :(得分:1)

您不能直接从servlet直接在客户端上执行命令。请注意,http protocol依赖于来自客户端的请求和来自服务器的响应。

因此,如果没有从客户端发出请求,则无法从服务器发送任何内容(仅仅因为服务器没有响应请求)

我知道你已经看到了这个功能,是的,它可以做到。但不是这样。 Ajax是你最好的选择......(定期发送请求并从服务器等回复)

答案 1 :(得分:0)

如果要刷新页面,请在页眉

中使用以下元标记
<meta http-equiv="refresh" content="5">