您的位置:首页 > 其它

cookie&session

2017-06-13 20:39 344 查看
[cookie]
【会话技术】

一次会话:用户打开浏览器访问一个页面开始,多次访问页面,到最后关闭浏览器的过程称为是一次会话.
【为什么要使用会话】

【常见的会话技术】

Cookie

是一种客户端的技术,将数据保存到客户端浏览器的内存中.

Session

是一种服务器端技术,将数据保存到服务器端.
【JSP技术】

SUN公司提供了一套动态网页技术.Servlet/JSP.

为什么有Servlet之后,还要有JSP技术.JSP:JavaServer
Pages.

Servlet缺点:

*需要配置.

*显示数据,显示表单...非常麻烦.

提供了一个动态网页开发技术:JSP.

JSP= JSP自身东西+HTML
+ Java代码.
【JSP的执行的原理】

JSP本身就是一个Servlet.在执行的时候翻译成一个Servlet.将Servlet编译成一个class文件.
【JSP的脚本-----嵌入Java代码】

<%! %> :JSP声明.翻译成Servlet的成员的东西.在声明当中定义类,方法,变量.
Servlet本身是单例的.定义成员属性的话容易引发线程安全问题.

<% %> :JSP脚本.翻译成Servlet的service方法内部的东西.在脚本中定义类,变量,语句

<%= %> :JSP表达式.翻译成Servlet的service方法内部的out.print()中的内容. 

1.1.4.1Cookie的使用的总结:

【Cookie的使用的小结】

//获得Cookie:

Cookie[]request.getCookies();

//向浏览器回写Cookie:

response.addCookie(Cookiecookie);

//构造Cookie

Cookie(Stringname,String value);
【Cookie的分类】

会话级别Cookie:默认的.关闭浏览器Cookie就会被销毁.

持久级别Cookie:将Cookie保存到本地的硬盘上.

Cookie的API:

*String getName();

*String getValue();

*void setDomain(String str);

*设置Cookie有效域名.

*void setPath(String str);

*设置Cookie的有效路径.setPath(“/WEB11”);

*void setMaxAge(int maxAge);

设置
【Cookie的注意事项】

Cookie保存的时候一个浏览器上对Cookie的个数和大小都是由限制的.

Cookie默认不能保存中文.

*URLEncoder.encode();

*URLDecoder.decode();

拓展:在jsp中取出cookie中的值:

${cookie.key.value} 如果取不到一个原因是存cookie的时候未设置为项目路径

[session]:
服务器端会话技术.
当我们第一次访问的服务器的时候,服务器获取id,
能获取id
要拿着这个id去服务器中查找有无此session
若查找到了:直接拿过来时候,将数据保存,需要将当前sessin的id返回给浏览器
若查找不到:创建一个session,将你的数据保存到这个session中,将当前session的id返回给浏览器
不能获取id
创建一个session,将你的数据保存到这个session中,将当前session的id返回给浏览器

获取一个session:
HttpSession  request.getSession()

域对象:
xxxAttribute
生命周期:
创建:第一次调用request.getsession()创建
销毁:
服务器非正常关闭
session超时
默认时间超时:30分钟  web.xml有配置 
手动设置超时:setMaxInactiveInterval(int 秒) 了解
手动干掉session
★session.invalidate()
存放的私有的数据.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: