session对象与cookie

哈喽,大家好,今天我们一起来 康 康 session与cookie

一,会话

概念:一个会话就是浏览器与服务器之间的一次通话,包含浏览器与服务器之间的多次请求、响应过程
会话

二,session对象

session对象用来存储有关用户会话的所有信息
session属性的常用方法:
session

session.setAttribute(String name, Object obj)	//将信息保存在session范围内
session.getAttribute(String name)		//获取保存在session范围内的信息
session.getAttributeNames(); 	//返回Session对象中存储的每一个属性对象,枚举型
session.isNew()			//判断session对象是不是新的
getCreationTime();		//返回Session被创建的时间.单位毫秒
invalidate();			//设置session无效,一般用在[安全退出]
removeAttribute("key");	//删除属性

session与窗口的关系:
每个session对象都与浏览器一一对应 重新开启一个浏览器,相当于重新创建一个session对象重新开启一个IE窗口,直接访问系统首页面。通过超链接打开的新窗口,新窗口的session与其父窗口的session相同

三,Cookie

Cookie:是Web服务器保存在客户端的一系列文本信息
作用:
对特定对象的追踪
统计网页浏览次数
简化登录

安全性能:
容易信息泄露

用法:
coockie
Cookie属性的常用方法
cookie的方法

四,访问分析

流程分析
如何查看cookie:
右键检查—找到应用–cookie
cookie

五,session对象与cookie的对比

session是在服务器端保存用户信息,Cookie是在客户端保存用户信息
session中保存的是对象,Cookie保存的是字符串
session随会话结束而关闭,Cookie可以长期保存在客户端
Cookie通常用于保存不重要的用户信息,重要的信息使用session保存

六,application对象

application类似于系统的“全局变量”,用于实现用户之间的数据共享
application对象的常用方法:
void setAttribute(String key, Object value):以键/值的方式,将一个对象的值存放到application中

application.setAttribute(“LOGINED_USER”, new ArrayList());

Object getAttribute(String key):根据键去获取application中存放对象的值

if (application.getAttribute(“LOGINED_USER”) != null) {
List loginedUsers = (List) application.getAttribute(“LOGINED_USER”);
}

实现服务内数据的共享
在服务内值存在一个对象实例

常用方法:
cyff

七天免登案例

login

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Login</title>
</head>
<body>
<%--
表单(form)
	action:表单提交的地址
	method:表单提交的方式
		* get(默认) 显示在地址栏上,数据长度有限制
		* post 不显示在地址栏上,且数据长度没有限制
必须携带name属性,不然接收不到数据
--%>
<%
	String username="";
	String password="";
	if(request.getCookies()!=null){//判断是否有Cookie,一般第一次登陆是没有Cookie的,没有非空判断会报错
		for(Cookie cookie : request.getCookies()){//遍历Cookie数组
			if(cookie.getName().equals("username"))//如果有账号,则赋值给账号输入框
				username=cookie.getValue();
			if(cookie.getName().equals("password"))//如果有密码,则赋值给密码输入框
				password=cookie.getValue();
		}
	}
%>
<form action="doLogin.jsp" method="post">
<p>
	<input value="<%=username %>" type="text" name="username" placeholder="请输入用户名" required>
</p>
<p>
	<input value="<%=password %>" type="password" name="password" placeholder="请输入密码" required>
</p>
<p>
	<button>登录</button>
	<button>注册</button>
</p>
</form>
</body>
</html>

dologin

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!-- 处理登录请求 -->
<%
	String username=request.getParameter("username");//拿到登陆请求发过来的账号
	String password=request.getParameter("password");//拿到登陆请求发过来的密码
	Cookie cookie_username=new Cookie("username",username);//新建一个Cookie用来装账号
	cookie_username.setMaxAge(60*60*24*7);//设置七天的存活时间,时间单位为S(秒)
	Cookie cookie_password=new Cookie("password",password);//新建一个Cookie用来装密码
	cookie_password.setMaxAge(60*60*24*7);//设置七天的存活时间
	//将Cookie存到前台去,完成七天免登陆
	response.addCookie(cookie_username);
	response.addCookie(cookie_password);
	//前往主页
	response.sendRedirect("home.jsp");
%>

ok,以上就是我们所了解的,请关注博主,继续精彩!

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值