4

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

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 调用。

4

2 回答 2

1

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

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

我知道你已经看到了这个功能,是的,它可以做到。但不是这种方式。Ajax 是您最好的选择......(定期发送请求并从服务器获取响应等)

于 2013-05-10T07:24:17.623 回答
0

如果要刷新页面,请在页面标题中使用以下元标记

<meta http-equiv="refresh" content="5">
于 2013-05-10T08:23:15.687 回答