目录
一.session与cookie基本概念
什么是session?
session对象用来存储有关用户会话的所有信息。
会话:一个会话就是浏览器与服务器之间的一次通话,包含浏览器与服务器之间的多次请求、响应过程。
session对象常用方法
类型 | 方法名称 | 说 明 |
void | setAttribute(String key,Object value) | 以key/value的形式保存对象值 |
Object | getAttribute(String key) | 通过key获取对象值 |
int | getMaxInactiveInterval() | 获取session的有效非活动时间,以秒为单位 |
String | getId() | 获取session对象的编号 |
void | invalidate() | 设置session对象失效 |
什么是Cookie?
Cookie是Web服务器保存在客户端的一系列文本信息
Cookie的作用
a.对特定对象的追踪 b.统计网页浏览次数 c.简化登录
设置Cookie属性的常用方法
类型 | 方法名称 | 说 明 |
void | setMaxAge(int expiry) | 设置Cookie的有效期,以秒为单位 |
void | setValue(String value) | 在Cookie创建后,对Cookie进行赋值 |
String | getName() | 获取Cookie的名称 |
String | getValue() | 获取Cookie的值 |
String | getMaxAge() | 获取Cookie的有效时间,以秒为单位 |
如何查看cookie
首先运行的页面鼠标右键点击检查,打开控制台,点击应用程序
点击Cookie里的页面链接,就会出现右边的数据
二.session与cookie的区别
1.session是在服务器端保存用户信息,Cookie是在客户端保存用户信息
2.session中保存的是对象,Cookie保存的是字符串
3.session随会话结束而关闭,Cookie可以长期保存在客户端
4.Cookie通常用于保存不重要的用户信息,重要的信息使用session保存
三.cookie实现七天免登录
用cookie实现免登陆是不安全的,因为查看cookie可以看到密码,但是也可以加密,但我这里没写。
登陆界面代码:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>Document</title>
<meta content="width=device-width, initial-scale=1" name="viewport">
<link href="${pageContext.request.contextPath}/bootstrap-3.3.7-dist/css/bootstrap.css" rel="stylesheet">
<script src="${pageContext.request.contextPath}/bootstrap-3.3.7-dist/js/jquery-3.5.1.js"></script>
<script src="${pageContext.request.contextPath}/bootstrap-3.3.7-dist/js/bootstrap.js"></script>
<style>
* {
outline: none !important;
}
html,
body {
background: #1abe9c;
}
form {
width: 300px;
background: #ebeff2;
box-shadow: 0 0 50px rgba(0, 0, 0, .5);
border-radius: 5px;
padding: 20px;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
.btn-group {
width: 100%;
}