10 Cookie/Session
* 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的更多相关文章
- asp.net 10 Cookie & Session
Cookie 1.什么是Cookie 一小段文本,明文的数据,关于网站相关的文本字符串数据.一个客户端状态保持机制~ 存储在客户端的浏览器内存里面或者磁盘(如果不指定过期时间,那么存储在客户端浏览器内 ...
- Cookie/Session机制详解
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...
- [转]Cookie/Session机制详解
原文地址:http://blog.csdn.net/fangaoxin/article/details/6952954 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用 ...
- Cookie/Session机制具体解释
会话(Session)跟踪是Web程序中经常使用的技术,用来跟踪用户的整个会话.经常使用的会话跟踪技术是Cookie与Session.Cookie通过在client记录信息确定用户身份,Session ...
- 会话Cookie及session的关系(Cookie & Session)
会话Cookie及session的关系(Cookie & Session) 在通常的使用中,我们只知道session信息是存放在服务器端,而cookie是存放在客户端.但服务器如何使用sess ...
- Java web学习 Cookie&&Session
cookie&&session 会话技术 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成为一次会话.会 话技术就是记录这次会话中客户端的状态与数据的. 会话技术分为Coo ...
- Cookie&Session(会话技术)
一.Cookie技术 从打开一个游览器访问某个站点,到关闭这个游览器的整个过程成为一次会话 会话技术分为Cookie和Session Cookie:数据存储在客服端本地,减少对服务端的存储的压力,安全 ...
- Cookie Session和自定义分页
cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...
- python Cookie Session 相关用法
Cookie一.前言1.http协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响 应情况直接影响,也不会直接影响后面的请 ...
随机推荐
- hibernate-cascade级联关系
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBL ...
- 【CityHunter】通过Unity3D来制作游戏中AR部分的内容
嗯,最近再考虑,CityHunter中,玩家攻略藏宝图时,为了增加可玩性,应该增强在AR部分的游戏性.最近特别火的游戏<Pokemon Go>在打开摄像头以后,可以看到小精灵,实际上,如果 ...
- 如何学好JAVA编程
我的思路: 1.我觉得先学学JSP,用纯JSP做个日记本简单的小系统,纯粹从语言层面上了解一些基 础知识,把tomcat玩熟了,就用记事本编就行,主要是熟悉,能够理解jsp运行机制.然 ...
- centos 7.0 nginx 1.7.9成功安装过程
centos 7.0根目录 的目录构成 [root@localhost /]# lsbin dev home lib64 mnt proc run srv tmp varboot etc lib me ...
- B:Wordpress不同分类调用不同的模板
这里指的是默认文章类型的模板(single.php,category.php) 应用场景: 默认文章默认有2个大类(新闻资讯.游戏资料) 新闻资讯下的所有子分类调用"新闻资讯列表模板,新闻内 ...
- ab 轻量的压测工具
阅读:http://www.cnblogs.com/luminji/archive/2011/09/02/2163525.html
- Linux中挂载window7的共享文件
window7主机: 设置要共享的文件夹 Linux Fedora: 0 su su root 1 samba-client yum install samba-client 2 cifs-utils ...
- Flask 吐血400错误
的确地址或者method不匹配,这个容易解决 在后端中取到了form中不存在的元素! 这个很麻烦,特别form里面的信息比较多时!这个需要一一排查.另外取元素时最好用 request.form.get ...
- 十二. 一步步破解JEB 2.0demo版二
编写脚本批量还愿JEB 加密字符串 解密完后效果如下: 脚本源码: https://github.com/bingghost/JebPlugins 思路: 下面的该封装的基本都封装了,过程如下: 1. ...
- source和./的区别
熟悉Linux的朋友常使用·bash·.·sh·.·source·.·.·,但却并非每位朋友都知道其中的区别.我们通过下面一幅图来为大家说明白.