cookie&session

来源:互联网 发布:武汉大学网络教学平台 编辑:程序博客网 时间:2024/06/05 07:45

[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脚本.翻译成Servletservice方法内部的东西.在脚本中定义,变量,语句

<%= %> :JSP表达式.翻译成Servletservice方法内部的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保存到本地的硬盘上.


CookieAPI

*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()

存放的私有的数据.



原创粉丝点击