JSP 重定向问题



我在jsp中重定向几乎没有问题。

登录.jsp

<%
Object user = (String) request.getSession().getAttribute("User"); 
if(user != null){
                PrintWriter out = response.getWriter();
                out.println("<font color=red>You are already logged </font>");
                RequestDispatcher rd = getServletContext().getRequestDispatcher("/index.jsp");
                rd.forward(request, response);
            }
                %>

当用户尝试访问登录.jsp页面时,当他已经登录时,此页面应将他重定向到主页(index.jsp)。它可以工作,但是当我使用正向重定向时,我没有看到来自out.println~的消息,当我使用包括重定向时,我有双主页(但带有消息:D)。我该如何解决它?是否存在更好的方法来执行此操作,而无需在jsp页面中使用java代码?

您可以使用

response.sendRedirect("url");

如果您希望用户短暂地看到一条消息,然后将其放置在不同的 url 上,则不称为 (HTTP) 重定向,这是普通的旧元刷新:

<%@ page session="false" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="refresh" content="2;URL=http://www.example.com" >
  </head>
  <body>
    A brief message displayed for 2 seconds...
  </body>
</html>

最新更新