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协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响 应情况直接影响,也不会直接影响后面的请 ...
随机推荐
- WIN10 CMD 启动虚拟WIFI
1.以管理员身份运行命令提示符: 快捷键win+R→输入cmd→回车 2.启用并设定虚拟WiFi网卡: 运行命令:netsh wlan set hostednetwork mode=allow ssi ...
- ionic ios 发布设置 header-bar高度无效
在公司app发布过程中发现一旦改过header-bar的高度之后在ios内部或者通过ionic build browser生成的网页打开都不是正常的 通过chrome的查看工具发现自己写的样式被直接覆 ...
- 《Python核心编程》18.多线程编程(二)
18.1没有线程支持 #!/usr/bin/env python # -*- coding:utf-8 -*- from time import sleep, ctime def loop0(): p ...
- Yii2.0 用户登录详解(上)
一.准备 在开始编写代码之前,我们需要思考一下:用户登陆模块,实现的是什么功能?很明显,是登陆功能,那么,登陆需要用户名和密码,我们在数据库的一张表中就应该准备好用户名和密码的字段,再思考一下,如果要 ...
- php常用字符串函数小结
php内置了98个字符串函数(除了基于正则表达式的函数,正则表达式在此不在讨论范围),能够处理字符串中能遇到的每一个方面内容,本文对常用字符串函数进行简单的小结,主要包含以下8部分:1.确定字符串长度 ...
- ajax 提交表单文件上传
<form action="" method="post" enctype="multipart/form-data" id=&quo ...
- java中的equals()方法重写
如何java中默认的equals方法跟实际不符的话,需要重写equals方法.例如: public class TestEquals { public static void main(String[ ...
- github上readme.md 格式
参考:https://github.com/guoyunsky/Markdown-Chinese-Demo/edit/master/README.md
- .net中c#获取本机IP地址实例代码
* 在使用前,一定要注意在头部加上引用: using System.Net; 代码如下: using System; using System.Collections.Generic; using S ...
- 关于使用 no-js (Modernizr)
最近有些朋友问到:为什么我的网页 code 有 class="no-js" ? <!DOCTYPE html> <html dir="ltr" ...