怎么自己做个网站做链接跳转,国家反诈中心app下载注册,江苏建筑职业技术学院,兰州有哪些互联网公司韩sir Cookie技术Cookie简单示意图Cookie常用方法Cookie创建Cookie读取JSESSIONID读取指定Cookie Cookie修改Cookie生命周期Cookie的有效路径Cookie作业布置Cookie注意事项Cookie中文乱码问题 Session技术Session原理示意图Session常用方法Session底层机制Session生命周期Sessi… 韩sir Cookie技术Cookie简单示意图Cookie常用方法Cookie创建Cookie读取JSESSIONID读取指定Cookie Cookie修改Cookie生命周期Cookie的有效路径Cookie作业布置Cookie注意事项Cookie中文乱码问题 Session技术Session原理示意图Session常用方法Session底层机制Session生命周期Session生命周期说明Session生命周期实例 Session作业 Cookie技术
Cookie简单示意图
Cookie是服务器在客户端保存的用户信息, 比如登录名, 浏览历史等, 就可以以cookie的方式保存Cookie信息就像是小甜饼(cookie)一样, 数据量并不大, 服务器端在需要的时候可以从客户端读取 位置 Cookie常用方法 Cookie有点像一张表(K-V), 分两列, 一个是名字, 一个是值, 数据类型都是String, 都是小量的数据, 如图 如果创建一个Cookie(在服务端创建) Cookie cookie new Cookie(String name, String val); cookie.setMaxAge();//保存时间如何将一个Cookie添加到客户端 response.addCookie(cookie);如何读取cookie(在服务端读取cookie信息) request.getCookies(); Cookie创建 新建一个Web工程-添加Web框架-新建lib, 引入servlet包Add as Library-配置tomcat-创建Servlet-浏览器抓包 Cookie读取 JSESSIONID 提示: 访问Servlet(比如 http://localhost:8088/cs/updateCookie)不会生成JSESSIONID, 访问http://localhost:8088/cs/才会生成要关闭浏览器再开一个新的, 才能产生一个新的session绘画 读取指定Cookie Cookie修改 Cookie生命周期
Cookie的生命周期是指如何管理Cookie什么时候被销毁(删除)setMaxAge() 正数, 表示在指定的秒数后过期, 但仍存在于浏览器中 0表示马上在浏览器端删除Cookie 这里为何会有两个Set-Cookie 负数, 表示浏览器关闭, Cookie就会被删除(默认值是-1) Cookie的有效路径 规则如下: cookie1.setPath /工程路径 cookie2.setPath /工程路径/aaa 请求地址: http://ip:端口/工程路径/资源 cookie1 会发送给浏览器 cookie2 不会发送给浏览器 请求地址: http://ip:端口/工程路径/aaa/资源 cookie1 会发送给服务器 cookie2 会发送给服务器 Cookie作业布置 Cookie注意事项
一个Cookie只能标识一种信息, 它至少含有一个标识该信息的名称(Name)和设置值(Value)一个Web站点可以给一个浏览器发送多个Cookie, 一个浏览器也可以存储多个Web站点提供的Cookie Cookie总的数量没有限制, 但是每个域名的Cookie数量和每个Cookie的大小是有限制的(不同的浏览器限制不同), Cookie不适合存放数据量大的信息
Cookie中文乱码问题
如果存放中文的cookie, 会报错, 可以通过url编码和解码解决
Session技术
Session是服务器端技术, 服务器在运行时会为每一个用户的浏览器创建一个其独享的session对象/集合由于session为各个用户浏览器独享, 所以用户在访问浏览器的不同页面时, 可以从各自的session中读取/添加数据, 从而完成相应任务
Session原理示意图
当用户打开浏览器, 访问某个网站, 操作session时, 服务器就会在内存(在服务端)为该浏览器分配一个session对象, 该session对象被这个浏览器独占这个session对象也可看作是一个容器/集合, session对象默认存在时间30min(Tomcat的conf/web.xml中配置的), 也可修改
session可以做什么? 网上商城的购物车保存登陆用户的信息将数据放入到Session中, 供用户在访问不同页面时, 实现跨页面访问数据防止用户非法登录到某个页面 Session存储结构示意图 你可以把Session看作是一种容器类似HashMap, 有两列(K-V), 每一行就是session的一个属性.每个属性包含有两个部分, 一个是该属性的名字(String), 另一个是该属性的值(Object)
Session常用方法
创建和获取Session HttpSession hs request.getSession() 第一次调用是创建Session会话, 之后调用是获取创建好的Session对象向session添加属性 js.setAttribute(String name, Object obj)从session得到某个属性 Object obj hs.getAttribute(String name)从session删除某个属性 hs.removeAttribute(String name)isNew(); 判断是不是刚创建出来的Session每个Session都有1个唯一标识Id值. 通过getId() 得到 Session的会话 id值
Session底层机制
项目重新发布Session会清空
Session生命周期
Session生命周期说明
public void setMaxInactiveInterval(int interval), 设置Session的超时时间(以秒为单位), 超过指定的时长, Session就会被销毁值为正数的时候, 设定Session的超时时长负数表示永不超时public int getMaxInactiveInterval()获取Session的超时时间public void invalidate() 让当前Session会话立即无效如果没有调用setMaxInactiveInterval()来指定Session的生命时长, Tomcat会以Session的默认时长为准, Session的默认超时时间为30min, 可以在tomcat的web.xml中配置 Session的生命周期指的是: 客户端/浏览器两次请求的最大间隔时长, 而不是累积时长, 即当客户端访问了自己的session, session的生命周期将从0开始重新计算底层: Tomcat用一个线程来轮询会话状态, 如果某个会话的空闲时间超过设定的最大值, 则将该会话销毁
Session生命周期实例 解读: Session的生命周期
指的是两次访问session的最大间隔时间如果你在session没有过期的情况下, 操作session, 则会重新开始计算生命周期session是否过期, 是由服务器来维护和管理如果我们调用了invalidate(), 会直接将该session删除/销毁如果希望删除session对象的某个属性, 使用removeAttribute(“xx”)
Session作业