我们创建了一个登录页面,用户可以在其中输入用户名+密码。单击登录时,我们将用户名+密码发送到名为"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。