Cookie、Session 与 application

存储信息的三种方式:Application,Session,Cookie区别 1.Application对象 Application用于保存所有用户的公共的数据信息,如果使用Application对象,一个需要考虑的问题是任何写操作都要在Application_OnStart事件(global.asax)中完成.尽管使用Application.Lock和Applicaiton.Unlock方法来避免写操作的同步,但是它串行化了对Application对象的请求, 阅读详情

                                      Cookie、Session 与 application

由于Http协议是无连接性的协议,即每次只访问服务器一次,然后断开连接,在跳转页面时,会导致信息丢失。这时候,Cookie和Session就解决了这个问题。application则是服务器端的一块内存区域,各个客户端访问的是同一个application。这里以Java语言为例。
Cookie:
1.Cookie是储存在客户端的文件,存储名值对(类似Map)。
2.Cookie是服务器在客户端写的文本文档。
3.客户端可以阻止服务器在客户端写入Cookie。
4.服务器可以读取客户端的Cookie,但仅限于Webapp自己写入客户端的Cookie。
5.Cookie可以区分浏览器。
6.Cookie有生存周期,可以通过setMaxAge(arg)的方式设置Cookie生存周期,没有设置生存周期的Cookie随浏览器关闭而结束生命周期。
7.Cookie在设置Cookie的当前目录或者子目录(该目录指的是POM.XML中的URL)中有效,或者浏览器子窗口中有效。
新建Cookie:
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;

public class SetCookies extends HttpServlet {
	
    @Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("text/html");
		//新建一个Cookie
		Cookie cookie = new Cookie("Session-cookie", "svalue");
		//通过response对象向客户端中添加Cookie
		response.addCookie(cookie);
		cookie = new Cookie("Persistent-cookie", "pvalue");
		cookie.setMaxAge(3600);
		response.addCookie(cookie);
		PrintWriter out = response.getWriter();
		out.println("<a href='ShowCookies'>ShowCookies</herf>");
	}
}

显示Cookie:
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;

public class ShowCookies extends HttpServlet{

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
		//设置反馈给客户端的内容
		resp.setContentType("text/html");
		PrintWriter out = resp.getWriter();
		//通过req对象获得客户端所携带的Cookie
		Cookie[] cookies = req.getCookies();
		if(cookies.length > 0){
			for(Cookie cookie : cookies){
				out.println(cookie.getName()+ " " + cookie.getValue());
			}
		}
	}
}

Session:
1.Session是记录在服务器端的一系列的用户操作信息,是服务器端开辟的一块内存。
2.Session是与创建Session浏览器的窗口或者浏览器的子窗口关联在一起,其它浏览器无法访问该Session。
3.每个Session都有一个SessionId,每次客户端携带着SessionId获得他独有的Session。
4.Session可以通过两种方式实现,一种是通过Cookie实现(SessionId存储在临时Cookie中),另一种是通过重写URL实现(response.encodeURL();转码+URL后面加入SessionId)。
5.浏览器窗口关闭后,该Session就消失了。
常用代码如下:
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;


public class ShowSession extends HttpServlet{
	
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
		resp.setContentType("text/html");
		HttpSession session = req.getSession(true);
		if(session.getAttribute("cnt") == null){
			session.setAttribute("cnt", 0);
		}else{
			session.setAttribute("cnt", (Integer)session.getAttribute("cnt") + 1);
		}
		PrintWriter out = resp.getWriter();
		out.println((Integer)session.getAttribute("cnt"));
		out.println("<br>" + session.getId());
	}
}

import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;

public class SessionInfo extends HttpServlet{
	
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
		HttpSession session = req.getSession(true);
		resp.setContentType("text/html");
		PrintWriter out = resp.getWriter();
		out.println("is new? " + session.isNew());
		out.println("id? " + session.getId());
		out.println("create time? " + session.getCreationTime());
		out.println("last access time ?" + session.getLastAccessedTime());
		
		out.println("id from req ?" + req.getRequestedSessionId());
		out.println("cookie ? " + req.isRequestedSessionIdFromCookie());
		out.println("URL ? " + req.isRequestedSessionIdFromURL());
		out.println("<a href=" + resp.encodeURL("SessionInfo") + "></a>");
	}
}


application:
application其实是ServletContext对象,指的是整个webapp,不同的客户端访问的是同一个application。
下面是一个计数器,计数所有客户端的次数。
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class TestApplication extends HttpServlet{
	
	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{
		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		ServletContext application = this.getServletContext();
		Integer count = (Integer) application.getAttribute("count");
		if(count == null){
			count = 1;
		}else{
			count = (Integer) application.getAttribute("count");
		}
		application.setAttribute("count", count + 1);
		out.println(count);
	}
}

Cookie,Session,Application的区别与应用 在ASP.NET中,有很多种保存信息的内置对象,如:Application,Session,Cookie,ViewState和Cache等。下面分别介绍它们的用法和区别。 方法 信息量大小 作用域和保存时间 应用范围 保存位置 立即下载

相关推荐

如何搭建一个vue项目(完整步骤)

查看版本的两种方式 出现版本号则说明安装成功(最新的以官网为准) 这里注意:安装vue-cli对node.js的版本是有要求的 装的两种方式:输入cmd命令 查看安装的版本(显示版本号说明安装成功) 如果你原来有版本或者版本比较低,可以升级...

m0_67392661的博客 5588

Application,Session和Cookie的区别

方法 信息量大小 保存时间 应用范围 保存位置 Application 任意大小 整个应用程序的生命期 所有用户 服务器端 Session 小量,简单的数据 用户活动时间+一段延迟时间(一般 为20分钟) 单个用户 服务器端 Cookie 小量,简单的数据 可以根据需要设定 单个用户 客户端 Viewstate

Haibing的博客 9908

解决:Solving environment: failed CondaValueError: Malformed version string ‘~‘: invalid character(s).

解决:Solving environment: failed CondaValueError: Malformed version string '~': invalid character(s).

晚风微凉的博客 1万+

HTTP之Session、Cookie 与 Application

cookie、seesion、application三个都会缓存我们用户状态的数据,使得我们在浏览器访问网站时可以更快速的获取到信息。主要原因在于HTTP协议是无状态的,我们每次访问服务器,对于服务器来说都是一个单独的请求,没有上下文的联系。以淘宝登录的例子来说明:假如我们输入我们的淘宝账号和密码登录后,我们浏览商品、加入购物车、付款等步骤,都会向服务器发出一条条的请求,但是服务器怎么知道这些请求是你这同一个用户发的呢?主要就是靠的cookie、seesion、application来实现的。

weixin_44477424的博客 1628

基于STM32与FPGA Cyclone IV的FSMC高速数据通信实战解析

本文详细解析了基于STM32的FSMC接口与FPGA Cyclone IV实现高速并行数据通信的实战方案。通过将FPGA模拟为SRAM设备,构建了MCU与FPGA之间的高速数据通道,并深入探讨了硬件连接、STM32软件配置、FPGA逻辑设计及性能优化等关键步骤,为图像处理、高速采集等需要大数据量交换的嵌入式应用提供了稳定高效的通信解决方案。

swift5iosmith的博客 295

STM32F407与AD7766实战:如何用SPI+DMA实现高速ADC数据采集(附完整代码)

本文详细介绍了如何利用STM32F407的SPI接口与DMA控制器,高效稳定地驱动24位高精度ADC芯片AD7766,实现高速连续数据采集。通过对比传统中断方式的瓶颈,阐述了SPI+DMA方案如何大幅降低CPU负载,并提供了从硬件设计、CubeMX配置到核心驱动代码的完整实战指南,帮助工程师解决高速ADC数据采集中的性能难题。

weixin_29281941的博客 190

session?cookie?application?

session?cookie?application?前言一、session1、什么是session2、session的使用3、session的缺点二、cookie1、什么是cookie2、cookie的使用3、cookie的缺点三、application1、什么是application2、application的使用3、application的缺点四、总结 前言 在完成购物车界面中购物列表查询出数据的时候,我发现方法其实有多种,其中session、cookie、application是我考虑可以使用到的

qq_45547474的博客 475

综述性论文别再堆砌文献!用GPT-5.1 Thinking轻松攻克四大关键难点,真正实现高效高质撰写(附AI提示词)

逻辑构建上以往都是先梳理一篇文献的领域研究脉络,明确其发展阶段、核心议题等,再搭建初步的大纲,借助思维导图或者别的方式将筛选后的文献观点按主题归类到对应章节,理清楚每个章节间的递进或并列关系,最后再逐个章节进行补充过渡表述,那么做的目的其实就是摆脱文献堆砌问题。人工做法往往是对比不同文献的研究方法、数据来源与核心结论,再清晰标注每类成果的优缺点,找到文献中存在的争议焦点,找到之后再梳理争议产生的核心原因,最后在基于现有研究,推出还未被探索的研究方向,从而提炼出创新切入点。2)文献之间的相同点与不同点;

智能AI让学术科研更容易 174

Cookie,Session,Application区别与用法

本文主要内容转载自:http://www.jb51.net/article/33715.htm 一、 Cookie:          cookie存放在客户端中,因此有效期时间以客户端的时间为准。可以自己手动设置,      Cookie cookie = new Cookie(“mycookie”,“name”);      cookie.setMaxAge("自己指定的时间

baidu_21132571的专栏 1万+

使用 Simulink/Simscape Electrical/Stateflow,构建一个并网逆变器短路故障动态响应与恢复策略仿真模型

本文基于Simulink平台,详细介绍了并网逆变器短路故障的动态响应与恢复策略仿真方法。主要内容包括:1)构建包含热模型的高精度逆变器模型;2)模拟IGBT击穿和桥臂直通两种短路故障;3)设计基于Stateflow的微秒级快速保护逻辑;4)实现放电、去磁、自检、重启的完整恢复流程。仿真结果表明,所提出的保护方案能在200μs内有效限制故障电流,避免器件永久损坏,并通过标准化恢复流程实现系统安全重启。文章还探讨了硬件保护协同、多级保护和预测保护等高级策略,为电力电子系统安全防护提供了实用解决方案。

xiaoheshang_123的博客 107

EMB电子机械制动执行器五大核心部件选型解析

本文介绍了EMB电子机械制动执行器五大核心部件的选型方案:采用无刷直流电机作为驱动源,兼具高扭矩和快速响应特性;选用滚珠丝杠传动机构,实现高效旋转-直线转换;行星齿轮减速器满足紧凑空间内的增扭需求;QT450-QT550材质的钳体确保刚度要求;应变片式压力传感器实现夹紧力精确测量。各部件选型综合考虑了性能、可靠性和空间限制,为EMB系统设计提供了完整解决方案。

m0_59012156的博客 1745

Cookie、Session和Application的使用和区别

一. Cookie 1. Cookie的执行过程 Cookies是存储在客户机的文本文件,它们保存了大量轨迹信息。 服务器脚本发送一系列cookies至浏览器。比如名字,年龄,ID号码等等。 浏览器在本地机中存储这些信息,以备不时之需。 当下一次浏览器发送任何请求至服务器时,它会同时将这些cookies信息发送给服务器,然后服务器使用这些信息来识别用户或者干些其它事情。 2. Cookie的常...

Marco___的博客 1273

2025华为杯第二十二届中国研究生数学建模竞赛D题:低空湍流监测及最优航路规划 - 完整解题分析+完整MATLAB源码!(上篇)

🎓 本文收录于 《滚雪球学数学建模》专栏,本专栏专注于从零基础出发,带你循序渐进掌握数学建模的核心方法与思维路径。通过“滚雪球式”学习法,从最简单的生活化案例到经典建模工具,再到省赛、国赛真题实战演练,逐步积累知识与技能,帮助你搭建完整的建模体系。无论你是刚接触建模的新生,还是希望提升科研与竞赛能力的学者与工程师,本专栏都将为你提供一条清晰、高效、可实操的建模成长路线,助力你快速进阶,突破难点,迈向数学建模竞赛与实际应用的更高峰 🚀!

**My Coding Family** 2591

Session、Cookie与Application的区别

联系 Cookie和Session都是客户端和服务器之间保持交互状态的解决方案,Application是web应用中,为应用程序提供了一个全局的状态,所有的客户端都可以使用该状态 Cookie Cookie是一小段的文本信息。当客户端请求服务器时,如果服务器需要记录该客户端的状态,则可以在向客户端响应response中向客户端浏览器发送一个Cookie,从而客户端将Cookie保存起来。当浏览器再...

董皓宇 2224

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

session,cookie、application对象

session对象 Session称为一次会话,浏览器的打开及关闭。例如:登录淘宝之后,在该浏览器上无论打开的哪个页面都属于一次会话(不需要登录了) 方法名 描述 setAttribute(key,val) 设置键值对 getAttribute(key) 通过键获取值 getId() 获取session的id setMaxInactiveInterval(time) 设置session的过期时间[单位:秒](tomcat中默认配置的过期时间是30分钟) removeAttri

weixin_52233021的博客 472

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Cookie、Session、Application的学习

Cookie、Session、Application的学习 1. Cookie Cookie是保存在客户端的临时文件 cookie以文件方式保存数据 浏览器会将Cookie的key/value保存到某个目录下的文本文件内(cookie储存在客户端) 添加数据 public void addCookie(Cookie cookie) -获取数据 public Cookie[] getCookies...

wxwxyh的博客 378

cookie、session、application

@[TOC]cookie、session、application Cookie: 注意 1.临时以文件的形式将数据存储在用户的计算机上只能记录key-value对,在浏览器temp文件夹; 2.最常见是存用户名, 作用:免登陆,还可以存搜索记录… 3.不存密码,技术上可行,md5加密,但不这么干; 4.透明,所有网站都可以看得到,淘宝的cookie,京东也可以看到 使用 验证成功时 if(c&gt...

weixin_45553479的博客 134

Cookie,Session,Application实例

最近学习了cookie,session,application的用法,发现网上关于这三者的介绍和区别都很详细,但是却没有简单易懂的例子来直观的表示,特写下这篇博客,希望能使需要学习这方面知识的读者更容易理解。 首先先创建一个登录表单(userLogin.jsp): 其次创建表单提交给的页面(userLoginSuccess.jsp): 表单效果: 利用...

TNTZS666的博客 693

session cookie application的区别

方法 信息量大小 保存时间 应用范围 保存位置 Application 任意大小 整个应用程序的生命期 所有用户 服务器端 Session 小量,简单的数据 用户活动时间+一段延迟时间(一般 为20分钟) 单个用户 服务器端 Cookie 小量,简单的数据 可以根据需要设定 单个用户 客户端 1.

zhaoshi1987的专栏 1679

web中的Cookie、session、application

9月5日笔记Cookie:注意使用session注意使用application使用 Cookie: 注意 1.临时以文件的形式将数据存储在用户的计算机上只能记录key-value对,在浏览器temp文件夹; 2.最常见是存用户名, 作用:免登陆,还可以存搜索记录… 3.不存密码,技术上可行,md5加密,但不这么干; 4.透明,所有网站都可以看得到,淘宝的cookie,京东也可以看到 使用 验证成功...

weixin_45553479的博客 160

Session、Cookie 与 Application

客户端请求服务器,如果服务器记录该用户状态,就获取 Session来保存状态,这时,如果服务器已经为此客户端创建过session,服务器就按照sessionid把这个 session检索出来使用;当浏览器再请求该 网站时,浏览器把请求的网址连同该Cookie一同提交给服务器,服务器检查该Cookie,以此来辨认用户 状态。Cookie和Session都是客户端与服务器之间保持状态的解决方案,具体来说,cookie机制采用的是在客 户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。

m0_73903000的博客 413

面试题关于cookie,session,application的区别

Cookie:    ①存在于客户端(可被阻止)   ②只能是文本文档   ③如果设置了期限值,则写入客户端的文件;   如果没有,它只对本窗口或其子窗口有效,其它窗口不能访问该Cookie   ④在Servlet/JSP中设置的Cookie可以被同路径下或其子路径的Servlet/JSP访问,父路径不可以   ○注:这里的路径是指URL,而不是Web文件的目录 Sessio

SuccessK的博客 494

JavaWeb cookie session application

JavaWeb 表单递交数据获取 标签(空格分隔): JavaWeb day03 表单递交数据获取 Cookie what cookie Cookie 是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息。无论何时用户链接到服务器,Web 站点都可以访问 Cookie 信息。...

weixin_43999652的博客 416

JSP入门之cookie、session、application

Cookie 多数用来保存用户的账号,以及一些用户的浏览痕迹   new一个cookie "userName"是这个cookie的名字,userName是你要保存的用户名 Cookie cookie = new Cookie(“userName”,userName); 注意:cookie的key-value只能保存String类型   将cookie添加到浏览器 response.addCook...

哈哈哈哈_哈士奇的博客 236

application;session;Cookie小结

方法 信息量大小 保存时间 应用范围 保存位置 Application 适用于任意大小数据 整个应用程序的生命期 所有用户公用 服务器端 Session 用户活动时间+一段延迟时间(一般为20分钟) 适用于少量,简单的数据 用户活动时间+一段延迟时间(一般为20分钟) 每个用户都有自己的session 服务器端 C...

qq_32362489的博客 267
上一篇: Servlet的生命周期
下一篇: JSP中两种include的区别
LiQiyaoo
博客等级 码龄11年 337粉丝 206原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值