首页 > 代码库 > 10 Cookie/Session
10 Cookie/Session
JSP/EL入门
* SUN提供了开发WEB资源的技术 Servlet/JSP
* response.getWriter().write();
.write("<form action=‘‘ method=‘post‘ >");
.write("<input type=‘text‘ name=‘username‘>");
* JSP(java server pages)
* JSP可以编写的代码
* HTML+java代码+JSP自身一些
* JSP的运行原理
* JSP -- 翻译成servlet -- 编译 -- 访问
* 创建简单JSP文件
* 打开方式
* 设置编码集
搜索jsp
* JSP脚本元素
* 编写java代码
* <%! %> :定义类、定义变量、定义方法(不经常使用) 成员变量
* <%= %> :输出内容
* <% %> :定义变量、编写语句 (局部变量)
* EL表达式
* 获取域对象中的值
* 两种会话技术
* 会话:从打开浏览器开始,点击链接(点击多次),访问服务器多个web资源,关闭浏览器,称为一次会话。
* 问题:
例如:用户点击超链接通过一个servlet购买了一个商品,程序应该保存用户购买的商品,商品保存会话对象中。
* requset和ServletContext保存商品信息行不行?
* cookie
* 保存用户名和密码
* 记录用户上次的访问
* 需求分析:
* 第一次访问,没有时间,输出欢迎,记录当前的时间,回写到浏览器。
* 第二次访问,有历史记录(时间),输出到页面上,记录当前的时间,回写到浏览器。
* 1.获取所有的cookie
* 2.通过指定的名称查找cookie(名称自己指定)
* * 如果cookie==null,第一次访问
* * 输出欢迎,记录当前的时间,回写到cookie中。
* * 不是第一次访问
* * 获取cookie中的时间,把时间显示到页面上
* * 记录当前时间,回写到cookie中
* Cookie的API
* 构造方法
* Cookie(String name, String value)
name:代表cookie的名称
* cookie提供的方法
* String getName() 获取cookie的名称
* String getValue() 获取值
* setMaxAge(int expiry) :设置保存的有效时间
* int:秒 long:毫秒
* setMaxAge(0);前提的条件:setPath路径相同
* setPath(String uri) :设置有效路径
* 默认路径 /day10 http://localhost/day10/cookie1
* 默认路径/day10/servlet/ http://localhost/day10/servlet/cookie1
* setDomain(String pattern) :设置有效域名
* 会话级别cookie
* 默认(关闭浏览器就消失。)
* 持久的cookie
* setMaxAge(int time) 磁盘上。
* 删除掉持久的cookie,设置setMaxAge(0),设置path必须一致。
* 记录用户的浏览记录
* 需求分析
* 商品列表页面(productList.jsp),点击商品信息,把这些信息记录下来。
* 点击商品,请求servlet,记录商品。回写到浏览器。
* 由点击商品,如果包含,不处理。如果不包含,商品放到cookie,回写到浏览器。
* 显示在列表页面上。
/**
* 1.接收参数
* 2.获取所有的cookie数组
* 3.判断是否是第一次访问
* * 第一次,记录商品的信息,回写到浏览器。
*
* * 不是第一次,获取cookie的值 (1,2,3)
* * 判断是否包含当前的商品的信息,如果不包含,拼接字符串,回写。
*
*/
* session
* 原理:
* 基于cookie,第一次访问的时候,在服务器创建session的区域,分配唯一的标识(id)。通过cookie技术,就可以找到区域。
* 简单购物车
* 前提条件:购物车(对象)Map<商品名称,商品数量>
/**
* 1.接收请求参数
* 2.从session中取购物车(map)
* 3.判断是否是第一次访问
* * 第一次,创建map对象,把商品的名称,和商品数量(1)存入map集合中。
* * 购物车存session中
*
* * 不是第一次
* * 判断购物车是否包含刚才的商品
* * 如果包含,取出数量,+1,存回去
* * 如果不包含,把商品名称和数量出入map集合中
*
* * 购物车存session中
*/
* session的追踪(了解)
* 手动的拼接jsessionid=B067A6EC847E918B94156458646F2FA4
* response. encodeRedirectURL(java.lang.String?url)
用于对sendRedirect方法后的url地址进行重写。
response. encodeURL(java.lang.String?url)
用于对表单action和超链接的url地址进行重写
* session的创建和失效
* session的创建:第一次访问的时候,创建session
* 销毁:
* invalidate() 销毁
* 非正常原因关闭服务器。
* session失效时间,默认是30分钟。
<session-config>
<session-timeout>30</session-timeout>
</session-config>
* 三个域对象
* ServletContext :整个web应用
* session :代表一次会话
* request :一次请求
setAttribute(xx,yy);
getAttribute(xx);
* SUN提供了开发WEB资源的技术 Servlet/JSP
* response.getWriter().write();
.write("<form action=‘‘ method=‘post‘ >");
.write("<input type=‘text‘ name=‘username‘>");
* JSP(java server pages)
* JSP可以编写的代码
* HTML+java代码+JSP自身一些
* JSP的运行原理
* JSP -- 翻译成servlet -- 编译 -- 访问
* 创建简单JSP文件
* 打开方式
* 设置编码集
搜索jsp
* JSP脚本元素
* 编写java代码
* <%! %> :定义类、定义变量、定义方法(不经常使用) 成员变量
* <%= %> :输出内容
* <% %> :定义变量、编写语句 (局部变量)
* EL表达式
* 获取域对象中的值
* 两种会话技术
* 会话:从打开浏览器开始,点击链接(点击多次),访问服务器多个web资源,关闭浏览器,称为一次会话。
* 问题:
例如:用户点击超链接通过一个servlet购买了一个商品,程序应该保存用户购买的商品,商品保存会话对象中。
* requset和ServletContext保存商品信息行不行?
* cookie
* 保存用户名和密码
* 记录用户上次的访问
* 需求分析:
* 第一次访问,没有时间,输出欢迎,记录当前的时间,回写到浏览器。
* 第二次访问,有历史记录(时间),输出到页面上,记录当前的时间,回写到浏览器。
* 1.获取所有的cookie
* 2.通过指定的名称查找cookie(名称自己指定)
* * 如果cookie==null,第一次访问
* * 输出欢迎,记录当前的时间,回写到cookie中。
* * 不是第一次访问
* * 获取cookie中的时间,把时间显示到页面上
* * 记录当前时间,回写到cookie中
* Cookie的API
* 构造方法
* Cookie(String name, String value)
name:代表cookie的名称
* cookie提供的方法
* String getName() 获取cookie的名称
* String getValue() 获取值
* setMaxAge(int expiry) :设置保存的有效时间
* int:秒 long:毫秒
* setMaxAge(0);前提的条件:setPath路径相同
* setPath(String uri) :设置有效路径
* 默认路径 /day10 http://localhost/day10/cookie1
* 默认路径/day10/servlet/ http://localhost/day10/servlet/cookie1
* setDomain(String pattern) :设置有效域名
* 会话级别cookie
* 默认(关闭浏览器就消失。)
* 持久的cookie
* setMaxAge(int time) 磁盘上。
* 删除掉持久的cookie,设置setMaxAge(0),设置path必须一致。
* 记录用户的浏览记录
* 需求分析
* 商品列表页面(productList.jsp),点击商品信息,把这些信息记录下来。
* 点击商品,请求servlet,记录商品。回写到浏览器。
* 由点击商品,如果包含,不处理。如果不包含,商品放到cookie,回写到浏览器。
* 显示在列表页面上。
/**
* 1.接收参数
* 2.获取所有的cookie数组
* 3.判断是否是第一次访问
* * 第一次,记录商品的信息,回写到浏览器。
*
* * 不是第一次,获取cookie的值 (1,2,3)
* * 判断是否包含当前的商品的信息,如果不包含,拼接字符串,回写。
*
*/
* session
* 原理:
* 基于cookie,第一次访问的时候,在服务器创建session的区域,分配唯一的标识(id)。通过cookie技术,就可以找到区域。
* 简单购物车
* 前提条件:购物车(对象)Map<商品名称,商品数量>
/**
* 1.接收请求参数
* 2.从session中取购物车(map)
* 3.判断是否是第一次访问
* * 第一次,创建map对象,把商品的名称,和商品数量(1)存入map集合中。
* * 购物车存session中
*
* * 不是第一次
* * 判断购物车是否包含刚才的商品
* * 如果包含,取出数量,+1,存回去
* * 如果不包含,把商品名称和数量出入map集合中
*
* * 购物车存session中
*/
* session的追踪(了解)
* 手动的拼接jsessionid=B067A6EC847E918B94156458646F2FA4
* response. encodeRedirectURL(java.lang.String?url)
用于对sendRedirect方法后的url地址进行重写。
response. encodeURL(java.lang.String?url)
用于对表单action和超链接的url地址进行重写
* session的创建和失效
* session的创建:第一次访问的时候,创建session
* 销毁:
* invalidate() 销毁
* 非正常原因关闭服务器。
* session失效时间,默认是30分钟。
<session-config>
<session-timeout>30</session-timeout>
</session-config>
* 三个域对象
* ServletContext :整个web应用
* session :代表一次会话
* request :一次请求
setAttribute(xx,yy);
getAttribute(xx);
10 Cookie/Session
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。