JavaWeb——session和Cookie

本文详细介绍了JSP中的session和cookie的使用方法,包括如何设置和销毁session及cookie,以及它们的区别。session用于在服务器端存储用户信息,而cookie保存在客户端,通常用于跟踪用户状态。两者在作用范围、存取方式、有效期、隐私策略和存储大小上有所不同。在安全性方面,Session比Cookie更优,但Cookie可设置为长期有效。
摘要由CSDN通过智能技术生成

session和cookie

1、JSP内置对象session
在这里插入图片描述
2、设置cookie属性的常用方法
在这里插入图片描述

session:会话(一个会话可以提交多次请求),session是将数据保存在服务器里面(临时),关掉网页数据也会消失,也可以用代码设置时间销毁。

1、使用session获取用户名

	HttpSession session = req.getSession();
	//setAttribute:参数1:键名,参数2:值。
	session.setAttribute("uname",uname);
	
	//然后在jsp里使用
	用户名:<%=session.getAttribute("uname")%>
		

2、使用session做销毁(默认的时间是三十分钟)

			HttpSession session = req.getSession();
			
			//session的销毁时间是以秒为单位 
			session.setMaxInactiveInterval(60);
			
			//立即销毁,不需要设置时间
			session.invalidate();
			
			//在web.xml
			<session-config>
    		<session-timeout>5</session-timeout>//5分钟之后销毁
			</session-config>
			

Cookie:Cookie 是服务器保存在浏览器的一小段文本信息,每个 Cookie 的大小一般不能超过4KB。浏览器每次向服务器发出请求,就会自动附上这段信息。

使用Cookie

	//创建Cookie
	//parpameter:用于代表cookie的名称(key)
	//value:用于表示当前key名称所对应的值
	Cookie newCookie = new Cookie("parpameter",value);
	//写入Cookie
	response.addCookie(newCookie);

Cookie代码销毁

/* 用cookie实现注销 */
	Cookie[] cks = request.getCookies();
		// 2.遍历cks
		if(null != cks){
			for(Cookie ck : cks){//ck表示 cks里面的每个对象
				if(null != ck){
					//3.找到保存用户名的cookie对象
					if("uname".equals(ck.getName())){
						ck.setMaxAge(0);//设置cookie的有效活动时间为0
					if("upwd".equals(ck.getName())){
						ck.setMaxAge(0);
					}
						response.sendRedirect(request.getContextPath()+"/home/UserLogin.jsp");
					}
				}
			}
		}

Cookie 和 Session 有什么不同?

1、作用范围不同,Cookie 保存在客户端(浏览器),Session 保存在服务器端。

2、存取方式的不同,Cookie 只能保存 ASCII,Session 可以存任意数据类型,一般情况下我们可以在 Session 中保持一些常用变量信息,比如说 UserId 等。

3、有效期不同,Cookie 可设置为长时间保持,比如我们经常使用的默认登录功能,Session 一般失效时间较短,客户端关闭或者 Session 超时都会失效。

4、隐私策略不同,Cookie 存储在客户端,比较容易遭到不法获取,早期有人将用户的登录名和密码存储在 Cookie 中导致信息被窃取;Session 存储在服务端,安全性相对 Cookie 要好一些。

5、存储大小不同, 单个 Cookie 保存的数据不能超过 4K,Session 可存储数据远高于 Cookie。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值