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);
        }
    }
}