本篇文章给大家谈谈深入解析:Cookie与Session会话技术原理与应用,以及对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
Cookie
概念:客户端会话技术,保存数据到客户端
快速入门
步
1.创建cookie对象并绑定数据
新的Cookie(字符串名称,字符串值);
2.发送cookie对象
响应对象。 response.addCookie(Cookie cookie);
3.获取cookie并获取数据
Cookie[] request.getCookies();
cookie 的工作原理:
image.png
cookie细节:
1.一次可不可以发送多个cookie?
是的,您可以创建多个cookie对象并使用response多次调用addCookies(Cookie cookie);
2.cookie在浏览器中存放多长时间
1.默认情况下,浏览器关闭时数据会被销毁
2、持久化存储:
setMaxAge(int 秒);
1.正数:将cookie数据写入硬盘上的文件,持久存储,cookie生存时间
2.负数默认存储在内存中
3. 零删除cookie信息
3.cookie能不能存中文
tomcat8之前,无法直接存储中文
中文数据需要转码,一般采用URL编码(%E3)
例如:
SimpleDateFormat format=new SimpleDateFormat("yyyy 年MM 月dd 日HH:mm:ss");
String lastTime=format.format(日期);
字符串编码=URLEncoder.encode(lastTime, "utf-8");
cookie.setValue(编码);
cookie.setMaxAge(60 * 60 * 60 * 24 * 30);
响应.addCookie(cookie);
字符串值=cookie.getValue();
字符串解码=URLDecoder.decode(value, "utf-8"); tomcat8之后tomcat支持中文
4.cookie共享问题
假设一个tomcat服务器中部署了多个web项目,这些web项目中cookie是否可以共享?
默认不能共享
1.setPath(字符串路径);设置cookie获取范围。默认情况下,设置当前虚拟目录。如果要共享,可以将路径设置为“/”
2、不同tomcat服务器之间cookie共享数据
setDomain(字符串路径);如果设置一级域名相同,多台服务器之间可以共享cookie
例如:setDomain("www.baidu.com");
5.cookie的特点
1.Cookie在客户端浏览器上存储数据
2、浏览器对单个cookie的大小有限制,对同一域名下的cookie总数有限制(20个)
作用:
1. Cookie 一般用于少量不太敏感的数据。
2、无需登录即可完成服务器对客户端的识别。
JSP入门学习
1.概念 Java Server Pages : Java服务器端页面
可以理解为:一个特殊的页面,其中既可以定义html页面,也可以定义java代码
使用并简化写作
2.JSP原理
image.pngJSP本质上是一个servlet
3.JSP脚本:JSP定义java代码的方式
%code%:定义的java代码,在服务方法中,服务方法中能定义的内容,脚本都可以定义
2.%!Code%:定义的java代码,位于jsp转换后的java类的成员位置
3.%=Code%:定义的java代码将输出到页面
4.JSP内置对象
1.不需要在JSP页面中获取和创建,可以直接使用该对象
2.jsp共有9个内置对象
response.getWriter 和 out区别
tomcat服务器在真正响应客户端之前,会先查找response buffer数据,然后再查找out buffer数据。
response.getWriter数据输出总是在out.write()之前
Session
概念:服务器端会话技术,在一个会话中的多个请求之间共享数据,并将数据保存在服务器中的对象中。 Http会话
快速入门:
1.获取session对象
HttpSession httpSession=request.getSession();
2.HttpSession对象
对象getAttribute(字符串名称)
void setAttribute(字符串s,对象o)
无效删除属性(字符串名称)
Session原理:Session的实现依赖于cookie
示意图:
image.png
细节:
1、当客户端关闭但服务端未关闭时,两次获取的session是否相同
默认情况下。不
如果你需要同样的,你可以创建一个cookie,JSESSIONID设置最大生存时间,并使cookie持久化。
HttpSession 会话=request.getSession();
Cookie cookie=new Cookie("JSESSIONID",session.getId());
cookie.setMaxAge(60*60);
响应.addCookie(cookie);2。客户端没有关闭,服务器也关闭了。两次获得的session是否相同?
不一样
会话钝化:在服务器正常关闭之前将会话对象序列化到硬盘。
session的激活:服务器启动后,将session文件转换为内存中的session对象。
3.session什么时候销毁?
1.服务器正常关闭
2.session对象调用invalidate
3. 默认会话过期时间为30 分钟。
选择性配置修改
30
【深入解析:Cookie与Session会话技术原理与应用】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
终于看到讲明白了cookie和session的文章了!
有17位网友表示赞同!
以前总觉得这两个概念有点糊涂,这篇文章解释得很清晰。
有5位网友表示赞同!
原来是这样子的!太感谢分享这种知识!
有6位网友表示赞同!
我一直在学习Web开发,这篇关于会话技术的文章很有帮助。
有15位网友表示赞同!
想要了解一下如何用cookie和session来提高网站的用户体验。
有13位网友表示赞同!
看来需要好好研究一下这两个技术,它们对网页应用太重要了。
有13位网友表示赞同!
之前只知道他们在代码里出现过,现在终于明白它们的原理是什么了。
有17位网友表示赞同!
这个博客分享的技术内容真的很详细,赞!
有8位网友表示赞同!
想通过学习cookie和session来提升我的网站安全性
有5位网友表示赞同!
我已经开始使用cookie和session了,但是这篇解释的文章更让我了解它们的使用场景了。
有8位网友表示赞同!
这种技术应用在电商平台和论坛上是不是也很常用?
有19位网友表示赞同!
看来以后开发网页还要注意这些细节
有15位网友表示赞同!
分享这个博客给我的朋友们,他们都在学习Web开发
有15位网友表示赞同!
这篇文章让我了解到很多关于网站后台的数据处理方法。
有20位网友表示赞同!
非常实用的一篇博客!希望能看到更多关于Web开发者技术的文章。
有15位网友表示赞同!
学习web 开发的小白,觉得这篇博文解释的非常到位。
有19位网友表示赞同!
我已经尝试用cookie和session实现一个简单的登录功能!
有9位网友表示赞同!
我要仔细研究一下代码示例,希望能自己也写出应用程序来。
有16位网友表示赞同!
对新手来说,这篇文章是一个很好的入门教程。
有14位网友表示赞同!
学习知识还是要多动手实践才行!
有13位网友表示赞同!