jsp 入门 cookie session
Java Server Page ==> 服务器端的动态页面资源.用来做显示的功能.
JSP构成 ==> HTML 脚本代码 标签构成.
JSP 原理 ==> 实际上就是 servlet.
JSP 运行过程 ==> 我们写一个jsp ==> .java ==> .class ==> 运行
JSP中的脚本代码
<% %> ==> 可以在jsp中书写java代码.在"<%%>"脚本中的代码会在jsp的service方法中出现.
(不常用)<%! %> ==> 可以在jsp中书写java代码. 在该脚本中 的代码会在jsp翻译成的java的 类中出现.(用来定义成员变量,成员方法)(这种脚本很少使用)
<%= %> ==> 在jsp中输出 内容.在该脚本中书写的代码 会放到 out.print();方法中 .
<%-- --%>==> jsp中的注释. 被注释的内容压根都不参与 编译到java文件这一步,更不用说运行.
<!-- --> ==> 跟上面有什么区别.被<!-- --> 注释掉的内容是给浏览器看的,属于html注释. 而jsp注释 会使注释掉的内容 不参与运行.属于服务器端的.
例子:
商品购买列表:
<br>
<%
//1 取出List集合
List<String> products = (List) request.getAttribute("list");
//2 遍历
for (String product : products) {
%>
<a><%=product%></a><br>
<%
}
//3 显示
%>
编译成java 文件
out.write("商品购买列表:");
out.write("<br>");
//1 取出List集合
List<String> products = (List) request.getAttribute("list");
//2 遍历
for (String product : products) {
out.write("<a>");
out.print(product);
out.write("</a><br>");
}
HTTP协议,每次访问都是基于 请求-响应的. 而每次请求响应都是 无状态的. 也就是不会保留之前的 信息.就好比给联通客服打电话.如果是说一句话就挂一次电话,那每次开始说话之前先要把之前聊到哪交代一下.
我们今天要学的两门技术(Cookie和session )就是用来保存 聊天状态的.
其中: cookie是在浏览器这一段保存信息的机制.
session 是在服务器端保存信息的机制.
cookie ==> 小甜点 ,这是一个在浏览器保存信息的技术.
详情: 1.浏览器请求服务器
2.服务器响应浏览器(在响应的时候,服务器交代浏览器帮我记住一些事情)
3.浏览器再次请求服务器(这时候就会带上刚才服务器交代让我记住的事情)
对于cookie的操作
设置:
Cookie cookie = new Cookie("key","value"); 创建一个cookie
cookie.setMaxAge(); 设置cookie的有效时间
cookie.setPath(uri); 设置cookie的路径
cookie.setDomain(".baidu.com");设置cookie的域(了解)
response.addCookie(cookie); 把cookie添加到响应中,这样才能发送给浏览器.可以添加多个cookie. (IE6.0一个网站只能记30个cookie,ie最多记录300个cookie.(但是发展到现在版本.数量提升了,具体没试过.Chrom3000个cookie))
浏览器发过来,取出cookie:
request.getCookies();
cookie的详情:
服务器使用 set-Cookie响应头 让浏览器记住一个数据(键值对) 响应头: Set-Cookie: name=tom
浏览器用Cookie请求头,告诉服务器一个键值对. 请求头:Cookie: name=tom
例子:
1.显示上次访问时间
2.记录浏览历史.
Cookie细节
1.记多久
使用cookie.setMaxAge(int) ==> 该方法设置cookie有效时间
填写方法:
1.填写正数 --> 数字相当于秒 ==> 60 ==> 浏览器记住1分钟
2.填写0 --> 数字还是相当于秒 ==> 0 ==> 表示立即失效
3.填写-1 --> 这个数字表示只是临时记住 ==> 浏览器一旦关闭,那么cookie失效 ==> 浏览器一直不关闭==> 一直有效
通过上面的设置.需要删除一个cookie怎么办?
重新发送相同的cookie.设置cookie的有效时间为0.那么就相当于删除该cookie.
思考:如果我们不设置MaxAge,那么cookie默认有效时间是多长? ==> 默认有效时间是当浏览器关闭cookie删除也就是 相当于-1;
2.什么时候给我
研究什么时候发送cookie 实际上就是对cookie路径的研究.
访问http://localhost/day11-cookie/EServlet?name=HASEE这个路径时添加的cookie路径是==>/day11-cookie
路径默认会使用访问资源的当前路径作为cookie路径.
http://localhost/day11-cookie/ABC/BCD/AServlet ==> http://localhost/day11-cookie/ABC/BCD
路径在什么时候有效(会发送这个cookie呢?)?
浏览器记录了如下cookie
a /day11-cookie ==> 凡是/day11-cookie 路径下的所有子路径全都发送cookie
b /day11-cookie/ABC
c /day11-cookie/BCD
d /
有以下路径,在访问那些路径是会发送该cookie
http://localhost/day11-cookie/ABC/BCD/AServlet ==> 会发送a,b cookie
http://localhost/day11-cookie/BCD/BServlet ==> ac
http://localhost/day10/AServlet ==> d
在我们操作cookie时,除了默认赋予路径外,我们可不可以自己来设置cookie的路径呢?
使用cookie.setPath方法可以设置.
3.cookie的域问题(了解)
比如 baidu这个域上有多个主机,在这多个主机之间想共享一个cookie,那么这个cookie该如何设置?
music.baidu.com /day01
zhidao.baidu.com /day02
map.baidu.com / day03
cookie该如何设置呢? ==> 域 ".baidu.com" ==> 这么设置那么 以上三个地址都可以跟这个主机匹配.
==> 路径 "/" ==> 不管什么Context路径都会发送
4.cookie保存中文
因为传输中不支持中文.所以我们要先对中文进行编码
编码:URLEncoder.encode(str,charset);
浏览器还给我们时,我们再解码回来即可
解码:URLDecoder.decode(str,charset);
jsp 入门 cookie session的更多相关文章
- day11(jsp入门&Cookie&HttpSession&一次性图片校验码)
day11 JSP入门 1 JSP概述 1.1 什么是JSP JSP(Java Server Pages)是JavaWeb服务器端的动态资源.它与html页面的作用是相同的,显示数据和获取数据. ...
- Cookie&Session&Jsp总结
知识点梳理 Cookie&Session&Jsp 1 会话技术 1.1 会话管理概述 1.1.1 会话技术介绍 会话:浏览器和服务器之间的多次请求和响应 (一次对话) 为了实现一些功能 ...
- JSP 状态管理 -- Session 和 Cookie
Http 协议的无状态性 无状态是指,当浏览器发送请求给服务器的时候,服务器响应客户端请求.但是同一个浏览器再次发送请求给服务器的时候,服务器并不知道它就是刚才那个浏览器 session sessio ...
- JSP(3)—Cookie和Session
HTTP是一个无状态的协议,web服务器无法分辨出那些请求是同一个浏览器发出的,浏览器每一次请求都是孤立的 即使HTTP1.1支持持续链接,但当用户有一段时间没有请求时,连接也会关闭. 如何实现网上的 ...
- Jsp入门学习笔记
#Jsp入门 一.JSP基础语法 1.JSP指令: page inlcude taglib 2.JSP注释: a.html注释: <!-- abcdefghijklmn --> b.jsp ...
- 九、JSP入门(1)
JSP入门 1 JSP概述 1.1 什么是JSP JSP(Java Server Pages)是JavaWeb服务器端的动态资源.它与html页面的作用是相同的,显示数据和获取数据. 1.2 JSP的 ...
- Cookie/Session机制详解
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...
- [转]Cookie/Session机制详解
原文地址:http://blog.csdn.net/fangaoxin/article/details/6952954 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用 ...
- Servlet学习笔记(1)--第一个servlet&&三种状态对象(cookie,session,application)&&Servlet的生命周期
servlet的404错误困扰了两天,各种方法都试过了,翻书逛论坛终于把问题解决了,写此博客来纪念自己的第一个servlet经历. 下面我会将自己的编写第一个servlet的详细过程提供给初学者,大神 ...
随机推荐
- iOS下的按钮css去除原生样式
IOS环境下的按钮都是经过美化的,但通常我们在设计web app的时候不需要这些看上去老土的样式,所以,去除这些显得很有必要. 下面这句代码就是重置这些样式的: input[type=button]{ ...
- php根据地址的经纬度查询周围的城市例子
目前的工作是需要对用户的一些数据进行分析,每个用户都有若干条记录,每条记录中有用户的一个位置,是用经度和纬度表示的.还有一个给定的数据库,存储的是一些已知地点以及他们的经纬度,内有43W多条的数据.现 ...
- add添加
s = {1,2,3,4,5,6,} 进行添加数据! s = {1,2,3,4,5,6,} s.add('s')#添加字符串's' s.add('3')#添加字符串'3' s.add(3)#添加3和字 ...
- JavaScript零基础学习系列三
函数 函数:为了完成某个功能而定义的代码的集体.函数是数据类型,只读的对象:函数也是对象:代码的重用.(JavaScript中) 定义语法:function 函数名(形式参数1,形式参数2--){ / ...
- C#中的try catch 和finally
错误的出现并不总是编写应用程序的人的原因,有时应用程序会因为终端用户的操作而发生错误.无论如何,我们都应预测应用程序和代码中出现的错误. 这三个关键字try是必定要用的,要不然就失去了意义.然后cat ...
- 数据结构图文解析之:二叉堆详解及C++模板实现
0. 数据结构图文解析系列 数据结构系列文章 数据结构图文解析之:数组.单链表.双链表介绍及C++模板实现 数据结构图文解析之:栈的简介及C++模板实现 数据结构图文解析之:队列详解与C++模板实现 ...
- 微信小程序之明源商城系列-01-商城介绍及开发准备
1,效果展示 数据来自于写的一个小爬虫爬了明源商城部分的数据.由于价格的保密性,下列产品价格和真实的都不同. 1.1 主页及开发文件结构 1.2 产品的详细页面 1.2 产品分类页面 1.3 产品 ...
- linux重定向
常用FD有3个,为0(stdin,标准输入).1(stdout,标准输出).2(stderr,标准错误输出),默认与keyboard.monitor有关: cmd > file 把 stdout ...
- mysql-data-dumper
mysql-data-dumper mysql-data-dumper最近几天写的项目. 一开始仅仅想实现一个简单的数据导出工具,方便大家使用,提升团队成员的效率.后来结果想法天马行空,所以进度有点慢 ...
- BZOJ3083: 遥远的国度
传送门 BZOJ100题辣(已经无法直视的正确率 树剖板子题,注意和dfs序结合,根据根的变化变换统计的方式即可. //BZOJ 3083 //by Cydiater //2016.10.23 #in ...