用cookie登录(使用cookie完成免登录)
用cookie登录(使用cookie完成免登录)<%-- Created by IntelliJ IDEA. User: 86187 Date: 2021/10/21 Time: 10:51 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"
1、概念客户端会话技术,将数据保存到客户端
2、使用步骤2.1创建Cookie对象,绑定数据使用new cookie(Sting name String value)构造方法 创建Cookie对象
2.2 发送Cookie对象使用response.addCookie(Cookie cookie)方法将Cookie对象传递进去然后发送给客户端
2.3 获取Cookie,拿到数据使用Cookie[ ] request.getCookies( )方法从服务器当中拿到数据
3、cookie存活时长3.1默认情况下,当浏览器关闭后,Cookie数据销毁。说明Cookie数据存放在浏览器的内存当中的
3.2设置Cookie的生命周期,让它持久化存储cookie.setMaxAge(60) ;//单位是秒 即 有效期60秒
cookie.setMaxAge(0) ;//删除cookie
4. 案例使用cookie记录用户名和密码
4.1 登录页面<%--
Created by IntelliJ IDEA.
User: 86187
Date: 2021/10/21
Time: 10:51
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width initial-scale=1.0">
<title>login</title>
<link href="/resource/css/bootstrap.css" rel="stylesheet">
<script type="text/javascript" src="/resource/js/jquery-3.2.1.js"></script>
</head>
<body >
<div class="text-center">
<h3>用户登录</h3>
<form:form action="/login" method="post" modelAttribute="user">
用户名:<form:input path="username" />
<!--错误提示-->
<form:errors path="username" cssClass="text-danger"></form:errors>
<br>
密码:<%--<form:password path="password" ></form:password>--%>
<input type="password" name="password" value="${user.password}">
<form:errors path="password" cssClass="text-danger"></form:errors>
<br>
<br>
<input type="checkbox" name="flag" value="1">十天内免登录
<button type="submit">登录</button><br>
没有账户去<a href="/reg">注册</a>
<br>
<span class="text-danger">${loginMsg}</span>
</form:form>
<script>
$(function (){
//如果用户名和密码有值,则自动提交表单
var username=$("[name='username']").val();
var password=$("[name='password']").val();
if( username!=null && username!="" &&password!=null && password!=""){
$("form").submit();
}
})
</script>
</div>
</body>
</html>
4.2 controller--执行登录
获取cookie的值,放到model 域。jsp页面用户和密码的回显
4.4 注销用户注销时,删除cookie的值