博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaWeb(HttpSession与Cookie)学习笔记一
阅读量:5914 次
发布时间:2019-06-19

本文共 1470 字,大约阅读时间需要 4 分钟。

cookie的作用域

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

HttpSession的创建

  1. 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的销毁

  1. 调用session对象的invalidate()方法会使session马上失效。
  2. 当过了session的有效时间。
    可以通过设置其有效时间来加速失效:调用session.setMaxInactiveInterval(int
    seconds),
    或者配置web.xml文件的配置:
    <session-config><session-timeout>minutes</session-timeout> </session-config>

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参数必须是绝对路径。

转载地址:http://siwvx.baihongyu.com/

你可能感兴趣的文章
mysql数据库sleep进程过多的处理办法
查看>>
第二次作业
查看>>
opencv 实现图像像素点反转
查看>>
Access denied for user 'root'@'localhost' (using p
查看>>
linux中grep命令
查看>>
H3C模拟器 DHCP Snooping 、中继 实例配置
查看>>
sed工具的使用
查看>>
数据仓库工程师、大数据开发工程师、BI工程师、ETL工程师之间有什么区别?...
查看>>
JVM初识-java类加载器
查看>>
对比各类分布式锁缺陷,抓住Redis分布式锁实现命门
查看>>
设置typeid后织梦currentstyle 不起作用的修复方法
查看>>
AndroidManifest.xml解析
查看>>
linux下磁盘分区详解
查看>>
利用iptables屏蔽IP段
查看>>
Oracle动态采样详解
查看>>
APUE读书笔记-03文件输入输出(4)
查看>>
linux系统中top命令输出详解
查看>>
cURL: Learning..
查看>>
Codeforces Round #219 (Div. 1) A. Counting Kangaroos is Fun 【二分】
查看>>
Html基础
查看>>