1. <script type="text/javascript">
    2. window.onload = function(){
    3. var cookieObject = document.cookie;--%>
    4. <%--// String类型的 k1=v1;k2=v2--%>
    5. alert(cookieObject);
    6. var cookieMessage = cookieObject.split(";");//[k1=v1,k2=v2]
    7. for(var i=0;i<cookieMessage.length;i++){
    8. var kv = cookieMessage[i].split("=");//[k1,v1] [k2,v2]
    9. alert(kv[0]+"---"+kv[1]);
    10. }
    11. }
    12. </script>

    模拟七天免登陆

    package controller;
    
    import service.LoginService;
    
    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 LoginController extends HttpServlet {
        @Override
        protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            req.setCharacterEncoding("UTF-8");
            String username=req.getParameter("username");
            String password=req.getParameter("password");
            //如果参数没有接收到,去cookie找
            if(username==null&&password==null){
                Cookie[] cookies=req.getCookies();
                for(Cookie cookie:cookies){
                    if(cookie.getName().equals("username")){
                        username=cookie.getValue();
                    }
                    if(cookie.getName().equals("password")){
                        password=cookie.getValue();
                    }
                }
            }
    
            LoginService service=new LoginService();
            String result=service.login(username,password);
            if(result.equals("登录成功")){
                //如果用户勾选了七日自动登录,需要将账号密码存入cookie
                String[] values= req.getParameterValues("flag");
                if(values!=null&&values.length>=0){
                    Cookie nameCookie=new Cookie("username",username);
                    Cookie passwordCookie=new Cookie("password",password);
                    nameCookie.setMaxAge(10);
                    passwordCookie.setMaxAge(10);
                    resp.addCookie(nameCookie);
                    resp.addCookie(passwordCookie);
                }
                req.getRequestDispatcher("welcome.jsp").forward(req,resp);
            }else{
                req.getRequestDispatcher("index.jsp").forward(req,resp);
            }
        }
    }
    
    package service;
    
    public class LoginService {
        public String login(String username,String password){
            if(username.equals("klxh")&&password.equals("554599")){
                return "登录成功";
            }
            return "账号或密码错误";
        }
    }
    
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
             version="4.0">
    
        <servlet>
            <servlet-name>login</servlet-name>
            <servlet-class>controller.LoginController</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>login</servlet-name>
            <url-pattern>/login</url-pattern>
        </servlet-mapping>
    
    </web-app>
    

    index.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
      <%
        Cookie[] cookies = request.getCookies();
        if(cookies!=null && cookies.length>1){
          request.getRequestDispatcher("login").forward(request,response);
        }
      %>
      <body>
        <form action="login" method="post">
          账号:<input type="text" name="username" value=""><br>
          密码:<input type="password" name="password" value=""><br>
          <input type="checkbox" name="flag" value="true">7天内自动登陆<br>
          <input type="submit" value="登录"><br>
        </form>
      </body>
    </html>
    

    welcome.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
        <head>
    
        </head>
        <body>
            ${cookie.username.value}
            我是welcome资源信息
        </body>
    </html>
    

    QQ录屏20210528141837.mp4 (10.75MB)