我在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>