java web 对cookie技术、session技术进行小结
2019独角兽企业重金招聘Python工程师标准>>>
Session是一种服务器端技术, Session 对象在服务器端创建,通常采用散列表来存储信息,例如, Tomcat 的 Session 实现采用 HashMap 对象来存储属性名和属性值。
Cookie是由 Netscape 公司发明的、用于跟踪用户会话的一种方式。 Cookie 是由服务器发送给客户的片段信息,存储在客户端浏览器的内存中或硬盘上,在客户随后对该服务器的请求中发回它。
Cookie小结
① Cookie在服务端创建 Cookie cookie = new Cookie(name,value);
② Cookie是保存在浏览器这端 response.addCookie(cookie);
③ Cookie的生命周期可以通过cookie.setMaxAge(int second)来设置 Cookie默认生命周期是会话级别(即存储在浏览器的内存中) 如果没有设置setMaxAge()则该cookie的生命周期当浏览器关闭时就挂了,setMaxAge(0)+response.addCookie(cookie),相当于删除Cookie 此时如果cookie文件内部只有该Cookie则,文件也一并删除;否则只删除该Cookie
④ Cookie可以被多个浏览器共享
⑤ 一个web应用可以保存多个cookie(放置在同一个文件内部) ,最多不要超过20个,每个Cookie的大小限制为4kB,因此Cookie不会塞满你的硬盘更不会被作为"拒绝服务"的攻击手段。浏览器一般保存的Cookie不会超过300个
⑥ Cookie存放中文,出现的乱码问题
存放
String val = java.net.URLEncoder.encode("中文名称","utf-8");
Cookie cookie = new Cookie("name","val");
读出
String val = java.net.URLDecoder.decode
(cookie.getValue("name"),"utf-8"); out.println("name="+val)
session小结:
① Session是存放在服务器的内存中
② 一个用户浏览器,独享一个session域对象
③ Session中的属性的默认生命周期是30min,可以通过web.xml来修改
(session的设置以分为单位,设为-1则表示无超时限制,在设定的时间内无request则session无效。
session根据生效范围可分别在服务器、项目和程序中进行设置:
1.服务器(针对服务器内所有session):
%TOMCAT_HOME%\conf\web.xml
<session-config>
<session-timeout>30</session-timeout>
</session-config>
2.项目(针对具体某个项目内所有session):
%PROJECT_HOME%\WEB-INF\web.xml
<session-config>
<session-timeout>30</session-timeout>
</session-config>
3.程序(针对具体一个session):
session.setMaxInactiveInterval(30);
)
④ Session中可以存放多个属性(包括对象)
⑤ 如果session.setAttribute(name,value);中name相同,则会替换掉。
Session VS Cookie :
1.存储位置不同: Cookie存在在客户端(临时文件夹) Session存在服务器内存中,一个session域对象为一个用户浏览器服务
2.安全性: Cookie以明文方式存放在客户端,安全较弱,可以通过MD5加密算法在存放 Session存放在服务器端内存中,所以安全性较好
3.网络传输量: Cookie会传递信息给服务器 Session的属性值不会给客户端
4.生命周期: Cookie的声明周期是累计时间 Session的生命周期是访问session的间隔时间,在一些情况下session也会失效关闭tomcat,reload web应用,时间到,调用invalidate()[安全退出]
5.从访问范围 :Session为一个浏览器独享 Cookie为多个用户浏览器共享 因为session会占用服务器的内存,因此不要向session存放过多、过大的对象,会影响性能。
转载于:https://my.oschina.net/kt431128/blog/265459
java web 对cookie技术、session技术进行小结相关推荐
- Java Web之Cookie、Session
讲Cookie和Seesion之前,先讲一下HTTP连接其实是无序的,服务器不知道是谁在访问它.现在我们来实现一个简单的邮箱功能. 要求: 1.登录页面登录之后看到收件箱和欢迎我 2.点击收件箱看到几 ...
- Java Web之Cookie和Session的理解
日常现象 登录了某个网站,过一会儿再登录,诶,不用输入密码了,直接是登录状态了,好神奇~~~ 在某网站看了一部手机,接下来浏览其他网站,旁边的广告全是手机和类似信息,好恐怖~~~ 浏览某网站时,提示我 ...
- java sessionstate_在Java Web开发中自定义Session
Session在存储安全性要求较高的会话信息方面是必不可少的,对于分布式Web应用自定义Session支持独立的状态服务器或集群是必须的.本文就来教大家如何在Java Web开发中自定义Session ...
- java中的Cookie是什么_第74节:Java中的Cookie和Session
第74节:第74节:Java中的Cookie和Session ServletContext: 什么是ServletContext,有什么用哦,怎么用呢? 启动服务器后,会给每个应用程序创建一个Serv ...
- OpenJWeb(1.6) Java Web应用快速开发平台技术白皮书
OpenJWeb中国开源组织(http://blog.csdn.net/baozhengw) 苏州创智科技有限公司(http://www.cmissoft.com) QQ:29803446 Msn:b ...
- Java Web编程的主要组件技术——MVC设计模式
参考书籍:<J2EE开源编程精要15讲> MVC(Model View Controller),Model(模型)表示业务逻辑层,View(视图)代表表述层,Controller(控制)表 ...
- 01_学习java WEB涉及到的相关技术
http协议 Tomcat服务器 Servlet技术 JSP技术 HTML CSS Javascript JDBC技术 MySQL.Oracle SQL语言 JavaBean 常用开源组件 DO ...
- Java Web编程的主要组件技术——Hibernate入门
参考书籍:<J2EE开源编程精要15讲> Hibernate是对象/关系映射(ORM,Object/Relational Mapping)的解决方案,就是将Java对象与对象关系映射到关系 ...
- java web课程题目_JavaWeb开发技术试题题目及答案,课程2020最新期末考试题库,章节测验答案...
下列语句中是命题的是[ ]A.这个问题B.这只笔是黑色的C.一定相等D.画一条线段 低血容量休克A.血压80/50 mmH9,CVP 3 cmH20,四肢皮肤花斑.湿冷B.血压80/50 mmH9,C ...
最新文章
- 2022-2028中国空中互联网系统市场现状及未来发展趋势报告
- Oracle Gateway使用分享
- [原] Excel(VBA)中数据的非科学记数法显示
- 数据库设计中的范式形式
- 分享自己整理的《UIT备份容灾解决方案培训稿》
- 输入法——讨厌的全角
- C# ToString() 参数大全
- 谈谈优化JDBC数据库编程(转)
- 广告传媒实际税负怎么计算_增值税的理论税负和实际计算公式
- 考试用计算机反思800字,期中考试总结反思作文800字
- 卡内基梅隆大学计算机专业录取难,卡内基梅隆大学计算机录取
- java隐藏类_java Class类中隐藏和覆盖的区别
- 通过微信公众号远程控制设备STM32+NB模组方案
- 路由器设置技巧之-台式机如何无线上网
- CRT控制台显示中文乱码问题
- JS基础-特效篇-随机点名册
- 首届全国智能制造(中国制造2025)创新创业大赛
- 第10届蓝桥杯B组F题《特别的数》
- android系统的手机文件夹目录详解
- 安卓到底是不是Linux