资讯专栏INFORMATION COLUMN

JavaWeb(HttpSession与Cookie)学习笔记一

xumenger / 2488人阅读

摘要:的作用域只能够传到当前目录以及以下的目录,不可以传到上一目录。总结当客户端访问第一个资源并且当前或者没有禁用当前页面的默认创建的对象或者没有调用方法的时候就会返回一个对象。

cookie的作用域

cookie只能够传到当前目录以及以下的目录,不可以传到上一目录。

HttpSession的创建

HttpSession的生命周期:

1).什么时候创建HttpSession对象
①.对于JSP:是否浏览器访问服务端的任何一个JSP,服务器都会立即创建一个HttpSession对象呢?不一定。

若当前的JSP是客户端访问的当前WEB应用的第一个资源,且JSP的page指定的session属性值为false,
则服务器就不会为JSP创建一个HttpSession对象;

若当前JSP不是客户端访问的当前WEB应用的第一个资源,且其他页面已经创建一个HttpSession对象,
则服务器也不会为当前JSP页面创建一个HttpSession对象,而回会把和当前会话关联的那个HttpSession对象返回给当前的JSP页面.

②.对于Serlvet:若Serlvet是客户端访问的第一个WEB应用的资源,

则只有调用了request.getSession()或request.getSession(true)才会创建HttpSession对象
当request.getSession(false)的时候如果没有与当前页面关联的HttpSession对象的时候就会返回null,
当request.getSession(true)(request.getSession(boolean create))的时候就会直接返回一个HttpSession对象 同request.getSession()。

总结:当客户端访问web第一个资源并且当前JSP或者Servlet没有禁用当前页面的默认创建的Session对象或者没有调用request.getSession(false)方法的时候就会返回一个HttpSession对象。

2). session="false" 到底表示什么意思?当前JSP页面禁用session隐含变量!但可以使用其他的显式的HttpSession对象

HttpSession的销毁

调用session对象的invalidate()方法会使session马上失效。

当过了session的有效时间。
可以通过设置其有效时间来加速失效:调用session.setMaxInactiveInterval(int
seconds),
或者配置web.xml文件的配置:
minutes

URL重写

浏览器把cookie被禁用的时候一般用URL重写的方法进行sessionID的跟踪,以便后续的上下文(即统一web中)可以使用同一sessionID访问同一session对象,其中进行URL重写的方法有两个:

encodeURL(String url)resonpse.encodeURL(String url)

encodeRedirectURL(String url)response.sendRedirect(response.encodeRedirect(String url))

相同点:两个会在cookie禁用的情况下对URL进行加上JsessionId的重写,当然,如果没有禁用,二者也不会对URL进行重写。
不通点:后者会对URL指向的资源进行判断,如果不是本web应用里的资源路径也不会进行SessionID的添加,因此该函数URL参数必须是绝对路径。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/68909.html

相关文章

  • JavaWEB开发10——Cookie&Session

    摘要:会话技术是帮助服务器记住客户端状态区分客户端会话技术从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成为一次会话。会话技术就是记录这次会话中客户端的状态与数据的。 一、会话技术简介1.存储客户端的状态由一个问题引出今天的内容,例如网站的购物系统,用户将购买的商品信息存储到哪 里?因为Http协议是无状态的,也就是说每个客户访问服务器端资源时,服务器并 不知道该客户...

    Yujiaao 评论0 收藏0
  • JavaWEB开发15——Listener&Listener

    摘要:创建与销毁对象是发送请求服务器就会创建它,当响应产生时,对象就会销毁。是容器为开发人员提供的对象,它提供了对某一资源的已过滤请求调用链的视图。 一、Listener监听器 Javaweb开发中的监听器,是用于监听web常见对象 HttpServletRequest HttpSession ServletContext 监听它们的创建与销毁 属性变化 session绑...

    RebeccaZhong 评论0 收藏0
  • java&javaweb学习笔记(汇总)

    摘要:我的学习笔记汇总标签笔记分为两大部分和笔记内容主要是对一些基础特性和编程细节进行总结整理,适合了解基础语法,想进一步深入学习的人如果觉得不错,请给,这也是对我的鼓励,有什么意见欢迎留言反馈目录基础巩固笔记反射基础巩固笔记泛型基础巩 我的java&javaweb学习笔记(汇总) 标签: java [TOC] 笔记分为两大部分:javase和javaweb javase javawe...

    yagami 评论0 收藏0
  • Servlet第六篇【Session介绍、API、生命周期、应用、Cookie区别】

    摘要:于是乎服务器向用户浏览器发送了一个名为的,它的值是的值。标记着该用户已经登陆了跳转到其他页面,告诉用户成功登陆了。注册多个用户,不断发帖子,扰乱正常发帖秩序。在处理表单的中刷新。监听用户提交事件。 什么是Session Session 是另一种记录浏览器状态的机制。不同的是Cookie保存在浏览器中,Session保存在服务器中。用户使用浏览器访问服务器的时候,服务器把用户的信息以某种...

    Java_oldboy 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<