本帖最后由 巴拉巴拉x 于 2018-5-21 10:37 编辑
Cookie
会话技术
什么是会话技术- 用户打开一个浏览器访问页面,访问网站的很多页面,访问完成后将浏览器关闭的过程称为一次会话
- 常见的会话技术
- 出现的原因
- ServletContext,是共享的域对象,不能给单个用户存储数据
- ServletRuquest,域对象范围太小,不能保存多次添加的数据.
- 由于以上都不能完成指定功能,所以使用Cookie来完成
使用Cookie来保存购物信息
- 把数据保存到客户端
- 一次请求会把对象ID带回浏览器,下次请求会带着这次的ID一起去访问另一对象,并把这个对象的ID也带回来,并保存到浏览器客户端.
使用Session保存购物信息
- 把数据保存到服务器端
- 客户端访问服务器,服务器会开辟一块区域,而且这块区域有一个地址值,响应的时候会把这个ID保存到浏览器客户端.
Cookie技术的使用
- 向浏览器保存数据
- HttpServletResponse类中的一个方法
- void addCookie(Cookie cookie)
- 获得浏览器带过来的Cookie
jsp的概述
- 什么是jsp:Java代码 + HTML元素 + JSP内置的东西
- Java Servlet Pages(Java服务器端页面)
- 执行过程
- JSP会被翻译成Servlet,然后再编译成class文件进行执行
- 创建位置:在WebContent目录下创建
- jsp的本质其实还是一个Servlet.最终执行的时候还是会被编译成一个java类,然后再编译成.class文件
- JSP的嵌入Java代码:JSP的脚本元素
- <%! 代码 ; %> :代码会被编译成成员属性(成员变量或者成员方法),可以定义变量,方法,类
- <% 代码 ; %> :代码会被编译成Service方法内的代码.变量就会变成局部变量,定义类,内部类,不可以定义方法.
- <%= 代码 %> :代码最后不能写分号,翻译成service方法内部的out.print(代码),内容.
cookie 的常用API
- cookie 常用API
- getName()
- getValue()
- setDomain(String name):设置Cookie的有效域名
- setPath(String path):设置Cookie的有效路径:一般用于删除持久性的cookie.
- setMaxAge(int maxAge):设置Cookie的有效时间
- Cookie的分类
- 会话级别的Cookie:默认,关闭浏览器就会销毁
- 持久级别的Cookie
- setMaxAge(int maxAge):把参数设置成0就是销毁,参数是单位是秒
用户数据私有化的过程- cookie 私有到私人的电脑上
- session 在服务器中开辟有一块单独的区域给每个对象,并把这个区域的打开方式保存到客户端.
Cookie存储中文的问题- 不能直接存中文
- 先把中文编码,再存到cookie中
- URLEncoder.encode(String name, "utf-8"):存入
- 获取:先获取value的值,再解码
- URLDecoder.decode(String value,"utf-8")
|
|