会话技术 程序中的会话: 打开浏览器---->访问特定的网站(访问服务器)----> 关闭浏览器 将浏览器和服务器之间的产生数据,会话! 服务器端会话技术:session 浏览器端会话技术:cookie :登录 特例:京东(不登录/登录)--->不登录--->将会话数据保存在cookie(加入购物车) 登录---->服务器(session中) 应用场景: 1) 打开浏览器---->访问网站----->填写用户登录数据(会话数据)--- >校验成功------->首页,会显示当前的用户名信息---->关闭浏览器 直接打开浏览器---->访问同一个网站---->直接显示用户信息 2) 访问商品列表--->点击某一个商品----->浏览器关闭 下一次进来---->商品列表----->记录之前访问过的商品数据(图片等) Cookie: 浏览器端的存储技术 小饼干,小甜点 1) 服务器端创建Cookie,将cookie数据并携带给浏览器 public Cookie(String name, String value) (响应头:setCookie:key=value) 2) 通过浏览器端将数据存储在缓存区中,(请求头:cookie :key=value) public void addCookie(Cookie cookie):将cookie写回浏览器,等待下次访问 将指定 cookie 添加到响应。可多次调用此方法设置一个以上的 cookie。 3)public Cookie[] getCookies() :浏览器在再次访问的时候,服务器端就可以获取到cookie数据 返回包含客户端随此请求一起发送的所有 Cookie 对象的数组 --->cookie的基本使用: 1) 创建Cookie 2) 将cookie数据由服务器写回浏览器 3) 再次访问服务器,可以获取cookie数据 获取cookie的名称: getName() 获取的cookie的内容:getValue() cookie的细节:(不适合存储私有数据!) 1) cookie内容只能存储String类型的数据 2) 浏览器端存储cookie的个数有限制:300个, 每一个站点可以存储20多个cookie,每一个cookie大小不超过4kb 3) 有效期的问题: public void setMaxAge(int expiry):cookie的有效期:默认浏览器关闭时,cookie会话结束! 设置 cookie 的最大生存时间,以秒为单位。 参数为正整数: 超过了当前的值,表示cookie过期了 0: (清空浏览器记录):直接将cookie会话结束 public void setPath(String uri):设置当前cookie的有效路径 如果存在项目名称 : 由”/项目名称” ,到”/rem”,如果设置了有路径,才能使用cookie数据 案例1: 步骤分析: 记录上一次访问的时间 创建一个Serlvet :RemServlet url-pattern:/rem 1) 记录当前cookie的名称:lastTime new Cookie(“lastTime”,long类型的时间) 2) public Cookie[] getCookies():通过api获取指定名称的cookie 3) 判断当前获取的指定的cookie是否为空 如果为空, 提示:当前您是第一次访问 如果不为空: 获取当前的指定名称lastTime的cookie的值--->String String--->long(int)---->pareseLong(value)--->long ----->Date对象---->toLocalString():提示:您上一次访问的时间是: 4)还有记录当前的系统时间:new Cookie(“lastTiem”,new Date()--->long) 5) 由服务器将cookie携带给浏览器 addCookie(cookie) ; 注意:1)cookie不能存储中文(要存储中文:URLEncoder/URLDencoder分别加密和解密) 2)Cookie不能跨浏览器 案例2: 记录当前用户浏览过的商品(显示足迹) 简单认识jsp(重点:el表达式) Java Server Page:java 服务页面 Jsp,其实就是一个serlvet程序 (也是反射机制) 1) tomcat服务器将jsp---->翻译成java文件 2) Jvm---->将java文本编译class文件 3) 通过反射输出里面的内容 <%jsp脚本代码%> <%=jsp的输出表达式%> <%! jsp定义成员变量 %> <%--jsp的注释:不会被解析--%> 1) 改造页面product_list.htm---->变成jsp文件 2) 点击商品列表中的某个商品,跳转到指定的servlet后台(getProductById) 3) 见图
了解一下 cookie
最新推荐文章于 2024-03-03 11:53:12 发布