JavaWeb cookie session application

JavaWeb cookie session application

标签(空格分隔): JavaWeb day03 cookie session application


Cookie

  • what cookie
    Cookie 是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息。无论何时用户链接到服务器,Web 站点都可以访问 Cookie 信息。
  • 应用 cookie 场景
    Cookies最典型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是Cookies的功用。另一个重要应用场合是“购物车”之类处理。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。
  • cookie
    每个浏览器都有单独的cookie该文件没有封装所有的都能访问,所以这是不安全的,cookie中保存的是key-value键值对,保存的都是String类型,并进行加密,但是也是非常的不安全。
常用的方法

◼添加数据
public void addCookie(Cookie cookie)
◼获取数据
public Cookie[] getCookies()
◼设置有效期
public void setMaxAge(int expiry)
参数的单位是秒 而不是毫秒
◼用户可以禁用cookie
在登入界面需要创建cookie

//创建cookie
//设置key-value key为cu_name name从文本框获取
Cookie cookie = new Cookie("cu_name",name);
//设置生命周期
cookie.setMaxAge(600);
//在客户端添加cookie
response.addCookie(cookie);

//读取cookie
//cu_name 給界面账号文本框赋值
String cu_name = "";
Cookie[] cookies = request.getCookies();
if(cookies!=null && cookies.length>0){
	for(Cookie c:cookies){
		if("cu_name".equals(c.getName())){
			cu_name=c.getValue();
		}
	}
}

//删除cookie
Cookie cookie = new Cookie("cu_name","");
cookie.setMaxAge(0);
response.addCookie(cookie);
response.sendRedirect("/JavaWeb/day02/index.jsp");

删除cookie两种方法
在对new 相同key的cookie 再将生命周期设置为0添加会覆盖原来的cookie
遍历循环cookie选中需要操作的cookie并进行操作设置有效期


session

  • what session
    计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。
  • session作用域
    将所需要的属性在服务器中开辟地址储存只要不关闭会话框就能访问同一个session属性,开启一个浏览器对话框就会存在唯一的session id,可以将对服务器读取属性,服务区并不会知道你什么时候结束会话,所以服务器规定一定的时间没有操作会重写发送一个session id,和舍弃原来的id,只要不关闭浏览器就一直存在
  • 常用方法
    ◼void setAttribut(String,Obeject)//设置属性 属性名和属性类型
    ◼Object getAttribut(String) //获取属性 属性名 需要强转
  • 方法的使用
session.setAttribute("cu_name", name);
String name = (String)session.getAttribute("cu_name");

application

  • what· application
    该对象代表web应用本身,整个web应用共享一个application对象,该对象主要用于在多个JSP页面或者Servlet之间共享变量。application通过setAttribute()方法将一个值放入某个属性,该属性的值对整个Web 应用有效,因此Web 应用的每个JSP 页面或Servlet都可以访问该属性,访问属性的方法为getAttribute
  • 作用域
    只要服务器不关机不管是不是同一个会话,不管是不是同一个浏览器,都能对这个属性进行操作并且保存影响
  • 常用方法
    ◼void setAttribut(String,Obeject)//设置属性 属性名和属性类型
    ◼Object getAttribut(String) //获取属性 属性名 需要强转
Integer visit = (Integer)application.getAttribute("visits");
if(visit==null){
	application.setAttribute("visits", 100000);
	visit = 100000;
}else{
	int rands = (int)(Math.random()*1000);
	application.setAttribute("visits", rands+visit);
}

三者区别

在这里插入图片描述
session 和 cookie

cookie   是文档脚本所以读取的是String 
session  是在服务端对内存的操作所以,session是有数据类型的

session 和 application

	session  作用域是会话,用session id标识
	application 作用域是应用程序
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaWeb中的CookieSession是用于在服务器和客户端之存储和传递数据的机制。 Cookie是在客户端(浏览器)保存少量数据的文本文件,它由服务器发送给浏览器,并在浏览器下一次向同一服务器发送请求时被浏览器携带过去。Cookie可以用于实现用户认证、记住登录状态、记录用户行为等功能。在JavaWeb中,可以使用`javax.servlet.http.Cookie`类来创建和设置CookieSession是在服务器端存储用户信息的一种机制。当用户第一次访问服务器时,服务器会为该用户创建一个唯一的会话标识(Session ID),并将该标识保存在Cookie中发送给客户端。客户端在后续的请求中会带上这个Session ID,服务器通过这个Session ID可以获取到对应的会话信息。在JavaWeb中,可以使用`javax.servlet.http.HttpSession`类来创建、获取和操作SessionCookieSession的区别主要有: 1. 存储位置:Cookie存储在客户端,Session存储在服务器端。 2. 容量限制:Cookie有大小限制,一般为4KB左右;Session可以存储较大量的数据。 3. 安全性:Cookie数据存储在客户端,容易被恶意篡改;Session数据存储在服务器端,相对较安全。 4. 生命周期:Cookie可以设置过期时间,可以长期保存在客户端;Session默认情况下会在一段时间内保持活跃,超过时间会被销毁。 在实际应用中,CookieSession常常结合使用,通过Cookie存储Session ID来实现用户的身份验证和状态管理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值