成功登录"JSP java"时加载新页面



我们创建了一个登录页面,用户可以在其中输入用户名+密码。单击登录时,我们将用户名+密码发送到名为"validateLogin"的JSP文件

当点击"登录"按钮时,我可以使用一些关于如何加载新页面的建议。

我的"validateLogin"代码

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1" import="java.io.*,java.util.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
    <%
  String uid, pass;
  uid = request.getParameter("userid");
  pass = request.getParameter("password");
  if ("mk123".equals(uid) && "1234".equals(pass))
  {
    // sæt attributten "logget ind" i sessionen
    session.setAttribute("logged in", "yes");
    out.println("You have succesfully logged in<br>");
 // New location to be redirected
    String site = new String("http://localhost:8080/CDIO3_-_Gruppe17/ScaleWeb.jsp");
    response.setHeader("Location", site); 
  }
  else
  {
    // fjern attributten "logget ind" fra sessionen
    session.removeAttribute("logged in");
    out.println("Wrong userid or password.<br>");
  }
%>
    Try enter
    <a href="ScaleWeb.jsp">the protected page </a> or go back to
    <a href="Login.jsp">page </a>.

</body>
</html>

我试着在if语句中创造一些东西,但效果并不好。

我猜你是从PHP来的,因为你设置了头。代替response.setHeader("Location", site);做:

response.sendRedirect(site); 
return;

仅仅设置Location头似乎不适用于JSP。

最新更新