J2EE实验4:Cookie操作

时间:2023-02-06 17:04:46

实验4:Cookie操作

实验要求:

  1. 编写主页index.jsp,可参考如下页面:

    J2EE实验4:Cookie操作
  2. 在登录验证页面login.jsp中只需简单判断用户名为abc、密码为123即可。关键操作是判断复选框选中与否状态,并将用户名称或密码值保存到cookie中,最后通过简单的链接返回到index.jsp。

    J2EE实验4:Cookie操作

index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<body>
<center>
<h1>实验004登录</h1>
</center>
<hr/>
<%
String CookieUserName = "";
String CookiePassWord = "";
Cookie[] CookieArray = request.getCookies();
if (CookieArray != null){
for (int i = 0;i < CookieArray.length;i ++){
if (CookieArray[i].getName().equals("CookieUserName")){
CookieUserName = CookieArray[i].getValue();
}
else if (CookieArray[i].getName().equals("CookiePassWord")){
CookiePassWord = CookieArray[i].getValue();
}
}
}

%>
<form name=myform action="login.jsp" method="post">
<table width="100%">
<tr>
<td colspan="2" align="center"><img src="img/icon.bmp"></td>
</tr>
<tr>
<td align="right" width="45%">用户名称:</td>
<td><input type="text" name="UserName" value="<%=CookieUserName%>"/></td>
</tr>
<tr>
<td align="right">密码:</td>
<td><input type="password" name="PassWord" value="<%=CookiePassWord%>"/></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="checkbox" name="UserNameCheckBox" value="true">自动记录名称</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="checkbox" name="PassWordCheckBox" value="true">自动记录密码</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="登录"> <input type="reset" value="重置"></td>
</tr>
</table>
</form>
<hr/>
</body>

login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<center>
<%
final String DBUserName = "abc";
final String DBPassWord = "123";
String UserName = request.getParameter("UserName");
String PassWord = request.getParameter("PassWord");
if (UserName.equals(DBUserName)){
if (PassWord.equals(DBPassWord)){
out.print("<strong>登录成功。<strong><br/>");
String RememberUserName = request.getParameter("UserNameCheckBox");
String RememberPassWord = request.getParameter("PassWordCheckBox");
if (RememberUserName != null && RememberUserName.equals("true")){
Cookie CookieUserName = new Cookie("CookieUserName",UserName);
CookieUserName.setMaxAge(7 * 24 * 60 * 60);//设置有效期7天
response.addCookie(CookieUserName);
}
if (RememberPassWord != null && RememberPassWord.equals("true")){
Cookie CookiePassWord = new Cookie("CookiePassWord",PassWord);
CookiePassWord.setMaxAge(7 * 24 * 60 * 60);//设置有效期7天
response.addCookie(CookiePassWord);
}
}
else{
out.print("<strong>密码不正确。<strong><br/>");
}
}
else{
out.print("<strong>账号不正确。<strong><br/>");
}
%>
<a href="index.jsp">重新登录</a>
</center>

Cookie的内容都保存在客户端,所以一般用来保存表单、记住账号密码等。