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协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响 应情况直接影响,也不会直接影响后面的请 ...
随机推荐
- iOS 图片大小压缩 图片尺寸处理
图片的压缩其实是俩概念,1.是 “压” 文件体积变小,但是像素数不变,长宽尺寸不变,那么质量可能下降,2.是 “缩” 文件的尺寸变小,也就是像素数减少.长宽尺寸变小,文件体积同样会减小. 这个 UII ...
- Android开发笔记之《知识漏点纪录与学习》
1. NDK的异常捕获方法 2. Andorid性能优化:http://www.cnblogs.com/yezhennan/p/5442557.html 3. 插件化与组件化:http://blog. ...
- js日期格式转换
var mydate=new Date(); var year=mydate.getFullYear(); //获取四位数getYear() 获取两位 var month=mydate.getMont ...
- UIScrollView和delegate的通信
在OC中,发送消息的意思就是调用方法 因此UIScrollView和delegate的通信可以理解为下图所示 再精确一点,UIScrollView和delegate的通信应该为下图所示 可以看出,要想 ...
- $this-->name
如果要在模板中输出变量,必须在在控制器中把变量传递给模板,系统提供了assign方法对模板变量赋值,无论何种变量类型都统一使用assign赋值. $this->assign('name',$va ...
- make 和 makefile 的关系
程序的 编译 和 链接 要先总结 make 和 makefile,就需要先了解下面这个过程: 预编译:也叫预处理,进行一些文本替换工作,比如将 #define 定义的内容,在代码中进行替换: 编译:将 ...
- php文件类
1.需求 了解php对文件的一些操作 2.例子 写了一个类,可以操作文件,包含增,删,查 <?php class myfile{ public function write_file($stri ...
- Ubuntu 使用phpmyadmin,报错#1146 - Table ‘phpmyadmin.pma_table_uiprefs' doesn't exist
cd /etc/phpmyadminsudo vim config.inc.php 修改phpmyadmin的配置文件config.inc.php $cfg['Servers'][$i]['table ...
- jquery-简单拖拽代码
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- python——连接Oracle数据库
前言 Python自带的模块中有很多操纵文件的.我们可以把文件的数据读出来,经过处理还可以将数据写入文件中.但是对于数据的管理和分析来说,数据库还是专业一些.如果Python能和数据库结合在一起,那么 ...