Cookie之免用户名登录
Cookie之免用户名登录
文件名:login.jsp。
描述:通过表单实现简易登录界面,通过EL表达式获取客户端的Cookie对象中是否存在用户名,若获取到,则直接显示到客户端的页面中。点击登录后转到LoginServlet程序。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<form action="http://localhost:8090/011_Cookies/loginServlet" method="get">
用户名:<input type="text" name="username" value="${cookie.username.value}"><br/>
密码:<input type="password" name="password" id=""><br/>
<input type="submit" value="登录">
</form>
</body>
</html>
文件名:LoginServlet.java
描述:获取表单提交的req,获取其中的username参数、password参数。判断用户名和密码是否正确,若两者正确,将用户名封装在Cookie对象中,设置其生存周期,并回传给客户端保存。
package com.servlet;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class LoginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String name =req.getParameter("username");
String password=req.getParameter("password");
if("username".equals(name) && "123456".equals(password)){
//登陆成功
Cookie cookie = new Cookie("username", name);
//当前Cookie一周内有效
cookie.setMaxAge(60*60*24*7);
//将当前cookie传输给客户端保存
resp.addCookie(cookie);
}
}
}