cookie,session,application

客户端与服务器端有相关操作时:1.服务器端会生成一个唯一的编号 2.把保存客户端浏览器相关信息以及自己网页的相关信息的cookie传递给客户端.


  cookie分为两种:一种是设定了生命周期的cookie(通过文本文件写入自己的网页信息,这样可以让不同的网站只能拿自己的cookie)
另一种是没有设定生命周期的cookie,该cookie存在单个浏览器所对应的内存中,而不

是通过文本文件的方式写入到客户端硬盘中,故其他浏览器不能访问到这个cookie;即使是两个浏览器访问同一个服务器页面也不能共享内存中的cookie;

重点:一个servlet/jsp文件写的cookie只能够被和该servlet/jsp文件在相同url路径或其子路径下的serlet/jsp文件拿到;

对于cookie:
如果浏览器支持cookie,创建session的时候会把sessionId是存放在浏览器在内存的cookie中的,
如果浏览器不支持cookie,必须自己编程使用url重写的方式实现session,response.encodeURL(),首先要解决转码问题,然后url后面加入sessionid



session是存储在服务器端内存中,记录客户端相关操作,每个session都只和自己相对应的浏览器相关,sessionId是存放在浏览器在内存的cookie中的。

在程序中得到session对象的方法是通过:request.getSession(true);
而对于getSession(true)方法,则表示如果客户端浏览器没有得到一个sessionid则服务器端就会在内存中分配空间创建并存储该session,如果浏览器有一个sessionid服务器就会拿到那个sessionid所对应的session。从而得到该浏览器在服务器端都做了什么!session是以key-value形式存储的,key都是string类型,value是object类型,故session中可以存任何东西!
而对于getSession(false)方法,则表示不会给浏览器创建和存储一个session


重点:session不像cookie拥有路径访问的问题;同一个web application下的servlet/jsp可以共享同一个session的,但前提是同一个浏览器窗口或其子窗口;(每个session只与同一个浏览器相对应)session是以最近的访问时间开始计算失效时间的,可以通过tomcat的conf路径下的web.xml中的

<session-config>
  <session-timeout>30</session-timeout>
</session-config>
来设定session失效时间,



对于application是能够被该web application下的全部servlet访问;
在API中表现为ServletContext
通过HttpServlet的getServletContext方法拿到;通过ServletContext的get/setAttribute()方法取得/设置相关属性;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值