session和cookie
来源:互联网 发布:sql 删除表外键约束 编辑:程序博客网 时间:2024/06/15 20:20
/*
会话知识:
Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器。当用户使用
浏览器再去访问服务器中的web资源时,就会带着各自的数据去。这样,web资源处理的就是用户各自
的数据了。
Session是服务端技术,利用这个技术,服务器在运行时可以为每个用户的浏览器创建一个其
独享的Session对象,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把
各自的数据放在各自的session中,当用户再去访问服务器中的其他web资源时,其他web资源再从用户
各自的session中取出数据为用户服务。
Cookie技术:javax.servlet.http.Cookie是Servlet API中的路径
setMaxAge(millions)设置cookie的生命期,如果不设置,其生命期即使浏览器的进程期限
getMaxAge()获取cookie的生命期
cookie的一些小细节:
1、一个cookie只能标记一种信息,它至少含有一个标识该信息的名称和设置值
2、一个web站点可以给一个web浏览器发送多个cookie,一个web浏览器也可以存储多个web站点
提供的cookie。
3、浏览器一般只允许存放300个cookie。每个站点最多存放20个cookie,每个cookie的大小限制
为4kb。
4、如果创建一个cookie。并将它发送得到服务器,默认情况下它是一个回话级别cookie(浏览器
进程),退出浏览器就会被删除。若希望浏览器将cookie存储到硬盘上,则需要使用setMaxAge,并给出
一个以秒为单位的时间,将最大时效设为0,则命令浏览器删除该cookie
5、注意,删除cookie时,path必须一致,否则不会删除。
应用:显示上次浏览过的商品
一个servlet代表首页,另一个servlet代表曾经浏览过的商品。
在myeclipse中敲的代码
Session:服务器会为每一个浏览器创建一个会话对象。注意:一个浏览器占一个session对象(默认情况)
注意:一个session只为一个会话服务,新开一个浏览器,其他的浏览器中的session是获取不到的
Session的生命周期:
1、创建:浏览器请求服务器,后台执行getSession方法代码时,服务器创建session
getSession的两个重载方法,有一个参数为boolean的方法。用以表示是否新建session。一般情况下
跟false,表示不创建session,只获取session。显示购物车的时候会用到这个方法。
2、销毁:会话结束,session并未被销毁;默认30分钟不使用时,才会被销毁.
自定义配置session的存在时间:1、web.xml中配置 2、在程序中用代码设置
Session和Cookie的区别主要有三个:
1、Cookie是把用户数据写给用户的浏览器
2、Session技术把用户数据写到用户独占的Session中
3、Session对象由服务器创建,开发人员可以调用Request对象的getSession方法得到session对象。
程序原理图,做到理解。
实例代码在myeclipse实现
Session的应用:
1、用于用户登陆。
2、表单提交。防止表单多次提交
应用场景:在注册的时候。有个问题就是,如何防止多次提交?
两种解决方案:1、用javascript实现防止多次提交 2、在服务器端阻止多次提交。
javascript:
<script type="text/javascript">
var iscommitted = false;
function dosubmit()
{
if(!iscommitted){
iscommitted = true;
return true;
}else{
return false;
}
}
</script>
服务器端的解决方法是用定义一个令牌(单例模式)
3、session实现验证码的校验
总结规律:
什么情况下采用request容器:一个数据产生之后,,用完之后就没用了,这时候采用request容器
什么情况下采用session容器:一个数据产生之后,用完之后稍后还要用到,这个时候采用session容器
什么情况下采用servletContext容器:一个数据产生之后,数据给用户看了之后,等会还要用,
而且不仅该用户用,其他人还要用,此时就用servletContext容器。
*/
- session和cookie
- Cookie和Session专题
- Cookie和Session专题
- Cookie和Session专题
- Cookie和Session专题
- 关于Session和Cookie
- Cookie和Session专题
- session 和 cookie
- Cookie和Session专题
- cookie和session
- 浅谈Session和Cookie
- Cookie和Session专题
- Cookie和Session专题
- Cookie和Session专题
- Cookie和Session专题
- Cookie和Session专题
- Cookie和session
- cookie和session关系
- POJ 2000 Gold Coins(简单模拟)
- (30 hackdays day 19) CARA - EQ不足CARA补
- Android获取服务器后台数据
- java.util.concurrent.Future 类基础
- 模拟时钟
- session和cookie
- Android中通过Intent调用其他应用的方法(转)
- Android 应用出错 error: Error retrieving parent for item: No resource found that matches the的第二种情况
- CentOS 6.x 系统安装+网卡驱动安装(Realtek PCIe GBE Family Controller for linux)
- 几个VS编译器(cl.exe)命令行编译的例子
- Android笔记七.ListView+Adapter
- 理解OAuth 2.0
- java调用.net服务例子
- window.setInterval的用法与实例