分类: PHP
2017-03-12 21:16:08
一、用户登录操作
1.首先写一个简单的登录页面,提交到loginServlet
<body>
<formaction="loginServlet">
<tablealign="center">
<tr>
<tdcolspan="2"align="center">
请登录
td>
tr>
<tr>
<tdcolspan="1">
用户名:
td>
<tdcolspan="1">
<inputtype="text"name="userName">
tr>
<tr>
<tdcolspan="1">
密码:
td>
<tdcolspan="1">
<inputtype="text"name="password">
tr>
<tr>
<tdcolspan="2"align="center">
<inputtype="submit"name="submit"value="提交">
td>
tr>
table>
form>
body>
2. 新建一个Servlet,取名为loginServlet。在里面创建Cookie,此时为第一次登录,客户端还没有Cookie存在
publicvoiddoGet(HttpServletRequest request, HttpServletResponse response)
throwsServletException, IOException {
StringuserName = request.getParameter("userName"); //接收客户端传过来的值
Stringpassword = request.getParameter("password");
if("xjg".equals(userName)&& "xjg".equals(password)){
//创建用户名Cookie对象
CookiecookieUserName = newCookie("userName",userName);
cookieUserName.setMaxAge(60); //Cookie保存时间
//创建用户密码Cookie对象
CookiecookiePassword = newCookie("password",password);
cookiePassword.setMaxAge(60); //Cookie保存时间
//添加到客户端
response.addCookie(cookieUserName);
response.addCookie(cookiePassword);
request.getSession().setAttribute("userName",userName);
response.sendRedirect("success.jsp");
}else{
response.sendRedirect("fail.jsp");
}
}
二、用户再次登录时操作
服务器首先读取客户端Cookie信息,如果存在用户名和密码数据,则直接登录,否则显示登录页面。
在登录页面写上如下代码
<%
//获取客户端Cookie数组
Cookie[]cookies = request.getCookies();
booleanbool = false;
//预定义保存用户名和密码的变量
Stringname = "";
Stringpassword = "";
if(cookies != null)//判断客户端是否存在Cookie对象
{
for(inti = 0; i < cookies.length; i++) {
Cookiecookie = cookies[i];
//判断Cookie的名称是否等于userName
if("userName".equals(cookie.getName())){
name= cookie.getValue();
}
//判断Cookie的名称是否等于password
if("password".equals(cookie.getName())){
password= cookie.getValue();
}
}
//判断用户名和密码是否合法
if("xjg".equals(name)&& "xjg".equals(password)){
bool= true;
}
//判断对客户端的Cookie的操作是否成功,成功则显示登录成功后的页面,
//否则,重定向到登录页面
if(bool) {
response.sendRedirect("success.jsp");
}else{
response.sendRedirect("fail.jsp");
}
}
%>
2.到此,Cookie的创建和读取完毕。