ningbaoer

导航

cookie

cookie 浏览器端 临时保存
1.什么是会话?
用户开一个浏览器访问一个网站,只要不关闭该浏览器,
不管该用户点击多少个超链接,访问多少资源,
直到用户关闭浏览器,或者服务器关闭,这整个过程我们称作一次会话。

2.会话过程中要解决的一些问题?
用来保存用户在访问过程中产生的数据

3.cookie工作流程
浏览器访问服务器,服务器产生键值对的形式(cookie),

通过响应(响应头 通过add-cookie)给浏览器,浏览器实现cookie
cookie保存在浏览器上,下次访问的服务器时候,
根据一定的规则携带不同的cookie,
通过请求(请求头 cookie)携带,服务器就可以拿到这些cookie

4.Cookie分类
状态Cookie 浏览器关闭时,该Cookie会被删除
持久Cookie 生命周期结束时,会被浏览器删除

不登陆 加入购物车的情况 是 持久Cookie 我们可以控制时间长短

 

5.api、
创建cookie new Cookie(String name,String value);
返回给浏览器 response.addCookie(Cookie c)

获取cookie
Cookie[] request.getCookies()
获取cookie的名称 getName()
获取cookie的value getValue()
设置cookie在浏览器端的存活时间 setMaxAge(int 秒数) 若秒数=0:删除该cookie(前提,必须路径相同)


6.设置cookie的路径
setPath(String cookie的path) 项目路径+具体路径

当访问的url包含此cookie的path的时候,就会携带这个cookie;反之不会
项目路径+具体路径
注意事项
一个路径不存在重名的cookie
不同路径下可以有重名的cookie
默认路径:从项目路径开始 到最后一个"/"结束
例如:http://localhost/day16/aa/bb/cc
默认路径:
/day16/aa/bb


7.
1.cookie不能跨浏览器
小米商城 加入购物车 换个浏览器 加入购物车的东西就没了


2.cookie是否支持中文
3.cookie中不能使用空格

其中
键 任何版本都不支持中文
值的话 web4.0开始 支持 不能写!!!!!

 

 

session
session 的工作流程
浏览器向服务器发送请求,
服务器判断浏览器是否携带了唯一标识
若有唯一标识:
服务器会拿着唯一标识去session池中查询是否有对应的标识
若有:直接操作session对象,并把它存放到浏览器端
若无:服务器会为其创建一个私有的内存空间,可以操作session,把它存放到浏览器端
若无唯一标识:
服务器会为其创建一个私有的内存空间,可以操作session,
把它存放到浏览器端

先判断有无(个人总结)
有的话 是否对应 对应 操作session对象 存放到浏览器端
有的话 不对应 创建一个 然后操作session对象 存放到浏览器端

直接无 创建一个 然后操作session对象 存放到浏览器端

session的获取
HttpSession session=request.getSession()
如果Session不存在,直接创建

HttpSession session=request.getSession(false)
加上false参数后,如果不存在,则返回null,存在返回Session对象


session属性操作
1.同一个浏览器在不关闭的情况下,setAttribute()设置的值可以通过getAttribute()获取到
2.同一个浏览器,设置值后 , 关闭浏览器 ,再打开浏览器进行值的获取,是获取不到的
3.不同的浏览器,访问同一个Servlet时,因为创建的是不同的session对象,
所以获取不到另一个浏览器访问时设置到session中的数据

 

生命周期
创建
Java代码中暂时认为第一次调用request.getSession()
JSP页面中,第一次请求该页面时,HttpSession对象就会被创建

销毁
服务器非正常关闭
超时 默认时间 tomcat是30分钟
手动设置setMaxInactiveInterval(int interval)

手动销毁 invalidate() 开发中 不要手动销毁!!!

 

servletContext
1.生命周期
创建:服务器启动的时候 会为每一个项目创建一个servletContext对象
销毁:服务器关闭的时候或者项目移除的时候
2.作用范围
整个应用
3.作用
存放整个项目共享的数据
4.应用场景
跟项目全局信息相关(常用来设置统计网站浏览、访问量、全局使用的参数变量)

posted on 2023-05-24 16:45  宁宝儿  阅读(17)  评论(0编辑  收藏  举报