JSP小结-Cookie与Session
来源:互联网 发布:js输入框 input span 编辑:程序博客网 时间:2024/04/24 18:45
1.Cookie
Cookie是指存储在客户浏览器 目录下的文本文件,文件信息由web服务器发送到客户浏览器并存储。下次该客户再次访问该web服务器时,可从该浏览器读回该信息。
Cookie也可存储在客户计算机的磁盘上。
|————————————————————–|
默认生命周期为浏览器关闭,cookie销毁。
|————————————————————–|
JSP/Servlet中操作Cookie:
Cookie cookie = new Cookie("username","tom");//设置有效期,单位是秒cookie.setMaxAge(1000);//将cookie对象添加到response对象中,这样服务器在输出response对象中的内容时就会把cookie也输出到客户端浏览器response.addCookie(cookie); //读取cookieCookie[] cookies =request.getCookies();for(Cookie cookie:cookies){ System.out.println(cookie.getName+",+cookie.getValue());}客户端的cookie文件可以存储若干个cookie对象的信息,在读取时,reques.getCookies()返回一个Cookie的数组,可在该数组中遍历寻找指定的Cookie对象。
2.Session
它是HttpSession类型的实例。
session对象储存在服务器内存中,用于跟踪用户信息。
默认有效期一般在30分钟左右。
session代表客户端与服务器的会话,从客户连到服务器开始,直到客户端与服务器断开连接为止。session对象主要用于保存用户信息,实现用户信息在系统各页面之间的传递。
生命周期:当用户首次访问时,产生一个新的会话,以后服务器就可以记住这个会话状态。会话超时或者服务器强制使session失效
在JSP页面可以通过session内建对象直接使用,【请看JSP内建九个对象】,而在Servlet中,可以通过如下代码:
HttpSession session = request.getSession();//设置属性session.setAttribute("username","tom");//读取属性session.getAttribute("username");//移除属性session.setAttribute("username");//设置有效期,单位为秒,-1代表永不过期session.setMaxInactiveInterval(1000);//使其失效session.invalidate();
isNew()是指是否一个新创的session,当用户访问一个支持session的jsp网页时,session被创建,尽管有时session里面并没有任何东西。 invalidate()是指清空session对象里的东西,并不指清除这个session对象本身。 所以,要判断一个session里面是否存在自己想要的东西(这个session是否有效),是不能用isNew()的,应该用 UserInfo userInfo=(UserInfo)session.getAttribute(”USERINFO”); if (userInfo!=null) 之类的来判断。
3.Cookie与Session的关联
Cookie信息是以文本文件的方式存储在客户端,而Session信息却存储在服务器的内存中。
当客户发送请求时,Cookie信息会随请求一起发往服务器,服务器会根据Cookie中的SessionId寻找客户对应的Session对象。
如果客户端禁用了Cookie,可以使用URL重写,将SessionId添加到URL中,利用URL传递给服务器。
HttpServletResponse提供了重写URL的方法:
public java.lang.string.encodeurl(java.lang.string.url url);<a href="<%=response.encodeurl(url)%>"></a>
encodeurl()方法在使用时,会首先判断Session是否启用,如果未启用,直接返回url。
然后判断客户端是否启用Cookie,如果未启用,则将参数url中加入SessionID信息,然后返回修改的URL;如果启用,直接返回参数url。
Session的正常使用依赖于Cookie,若Cookie禁用,则应该采用URL重写。
- JSP小结-Cookie与Session
- JSP session与cookie
- JSP - cookie与session-2
- JSP之Cookie与Session
- PHP Session与Cookie区别小结
- JSP处理session与cookie研究三
- Jsp状态管理、Cookie与session
- JSP中session与cookie的区别
- jsp中的cookie与session的区别
- 对jsp的一个小结(2)session、cookie、application
- cookie,session小结
- cookie和session小结
- session、cookie小结
- JSP Cookie和session
- JSP Session cookie 详解
- JSP、Cookie、Session
- JavaWeb11-jsp.cookie.session
- JavaWeb11-jsp.cookie.session
- nodejs excel导入导出
- Xcode 中的编译过程以及编译器
- 关于android studio闪退的问题
- Hibernate SessionFactory与Session
- Redis使用详细教程
- JSP小结-Cookie与Session
- Java开发环境问题
- CircleProgressBar 带载入动画的环形进度条
- Java compiler level does not match the version
- 【整理】不熟悉的git命令
- spring 事务 @Transactional注解参数 tx:annotation-driven
- MyBatis入门配置
- Java过滤器与SpringMVC拦截器之间的关系与区别
- Java工作笔记(一)