7)cookie的路径问题

a.什么是cookie路径问题?

浏览器在向服务器上的某个地址发送请求时,
会查看cookie的路径是否与该地址匹配,只有
匹配的cookie才会被发送。

b.cookie的默认路径

等于添加该cookie的web组件的路径。
比如
    /day07/biz01/addCookie.jsp添加了一个
cookie,则该cookie的默认路径是"/day07/biz01"

c.匹配规则:

请求路径必须等于cookie的路径,或者是其子路径。
比如
    cookie的路径是 "/day07/biz01",则
    如果请求路径是"/day07/findCookie1.jsp",
    不匹配(即该cookie不会发送给服务器)。
    如果请求路径是"/day07/biz01/findCookie2.jsp",匹配。
    如果请求路径是"/day07/biz01/sub/
    findCookie3.jsp",匹配。

d.修改cookie的路径

cookie.setPath(String path);

8)cookie的限制

a.cookie不安全。
    注:对于敏感的数据,尽量不要以cookie的
    形式存放。如果要存放在cookie里面,
    一定要加密。
b.cookie可以被用户禁止。
c.cookie只能保存少量的数据。(大约是4k左右)
d.cookie的数量也有限制。
    注:
        浏览器只能存放约几百个cookie。
e.cookie只能存放字符串。

2.Session(会话)

(1)什么是session?

服务器端为了保存状态而创建的一个特殊的对象。
注:
    该对象有一个唯一的id,一般称之为sessionId。

(2)工作原理

当浏览器第一次访问服务器时,服务器会创建
session对象,并且将sessionId默认以cookie的
形式发送给浏览器;
当浏览器再次访问服务器时,会将sessionId发
送过来,服务器可以利用sessionId找到对应的
session对象。

(3)如何获得session对象?

1)方式一

HttpSession s =
    request.getSession(boolean flag);
注:
 a. HttpSession是一个接口。
 b. 当flag为true时,先查看请求当中有没有
    sessionId,如果没有,创建一个session对象;
    如果有,则依据sessionId查找对应的
    session对象,如果找到了,则返回,
    找不到,则创建一个新的session对象。

c. 当flag为false时,先查看请求当中有没有
    sessionId,如果没有,返回null;
    如果有,则依据sessionId查找对应的
    session对象,如果找到了,则返回,
    找不到,返回null。

2)方式二

HttpSession s =
    request.getSession();
等价于 request.getSession(true)。

 (4)绑订数据相关的几个方法

//绑订数据
setAttribute(String name,Object obj)
//依据绑订名,获得绑订值
Object getAttribute(String name)
//解除绑订
removeAttribute(String name)

(5)session超时 

1)什么是session超时?

服务器会将空闲时间过长的session对象删除掉。
注:
    a.这样做的目的是为了节省内存空间的占用。
    b.大部分服务器默认的时间限制是30分钟。

2)如何修改超时时间限制?

方式一
    修改web.xml文件中的配置
    <session-config>
方式二
    setMaxInactiveInterval(int seconds)

(6)删除session

invalidate()

3.session相关的案例

(1)登录

a.流程
    用户填写用户名和密码并提交,
服务器端依据用户名和密码查询数据库,
如果有匹配的记录,则登录成功(返回欢迎页面);
否则  登录失败(在登录页面中,提示用户名或密码错误)。

Servlet学习笔记07——什么是cookie,session?的更多相关文章

  1. python学习笔记(3)---cookie & session

    一.cookie & session 1.cookie: cookie 就是由服务器发送给客户端的特殊信息,而这些信息以文本的方式存放在客户端,然后客户端每次向服务器发送请求都会带上这些特殊信 ...

  2. JavaWeb学习笔记五 会话技术Cookie&Session

    什么是会话技术? 例如网站的购物系统,用户将购买的商品信息存储到哪里?因为Http协议是无状态的,也就是说每个客户访问服务器端资源时,服务器并不知道该客户端是谁,所以需要会话技术识别客户端的状态.会话 ...

  3. JavaWeb学习笔记(六)—— Cookie&Session

    一.会话技术简介 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 在日常生活中,从拨通电话到挂断电话之间的一连串的你问我答的过程 ...

  4. # jsp及servlet学习笔记

    目录 jsp及servlet学习笔记 JSP(Java Server Page Java服务端网页) 指令和动作: servlet(小服务程序) jsp及servlet学习笔记 JSP(Java Se ...

  5. Servlet学习笔记(四)

    目录 Servlet学习笔记(四) 一.会话技术Cookie.session 1. 什么是会话技术? 2. 会话技术有什么用? 3. Cookie 3.1 什么是Cookie? 3.2 使用Cooki ...

  6. 学习笔记 07 --- JUC集合

    学习笔记 07 --- JUC集合 在讲JUC集合之前我们先总结一下Java的集合框架,主要包含Collection集合和Map类.Collection集合又能够划分为LIst和Set. 1. Lis ...

  7. 机器学习实战(Machine Learning in Action)学习笔记————07.使用Apriori算法进行关联分析

    机器学习实战(Machine Learning in Action)学习笔记————07.使用Apriori算法进行关联分析 关键字:Apriori.关联规则挖掘.频繁项集作者:米仓山下时间:2018 ...

  8. Servlet学习笔记(三)

    目录 Servlet学习笔记(三) 一.HTTP协议 1.请求:客户端发送欸服务器端的数据 2.响应:服务器端发送给客户端的数据 3.响应状态码 二.Response对象 1.Response设置响应 ...

  9. Servlet学习笔记(二)

    目录 Servlet学习笔记(二) Request对象 1.request和response对象: 2.request对象继承体系结构: 3.什么是HttpServletRequest ? 4.Htt ...

随机推荐

  1. Hadoop学习笔记(3) Hadoop文件系统一

    1. 分布式文件系统,即为管理网络中跨多台计算机存储的文件系统.HDFS以流式数据访问模式来存储超大文件,运行于商用硬件集群上.HDFS的构建思路为:一次写入.多次读取是最高效的访问模式.数据集通常由 ...

  2. anaular js loadding效果

    以前用的jquery的时候,用ajax实现,比较好弄,下面是angularjs的方式: //body下面增加div <div data-loading></div> //dir ...

  3. linux常用安装命令(ubuntu)

    安装 net-tools 安装命令 sudo apt install net-tools 安装ssh sudo apt-get install openssh-server 查看是否安装成功 sudo ...

  4. 连接数据库报错:1130-Host 'xxx' is not allowed to connect to this MySQL server解决

    出现这个问题的同学都很奇怪,为啥用localhost就可以连接上,但是使用本地ip就不行.出现这个问题的原因就是mysql未开启mysql远程访问权限导致. 这时候我们就用cmd去访问下你的mysql ...

  5. python的字符串操作

    1.修改大小写 (1)title()以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写.这很有用, 因为你经常需要将名字视为信息.例如,你可能希望程序将值Ada.ADA和ada视为同一个名 ...

  6. jQuery的表单验证

    jQuery的表单验证 直接上代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...

  7. Python开发环境Wing IDE的Blender的Python代码调试技巧

    Wing IDE是一个集成开发环境,可用于开发.测试和调试为Blender编写的Python代码,Blender是一个开源的3 D内容创建系统.Wing IDE提供自动完成.调用提示.强大的调试器.以 ...

  8. Android GreenDAO 3.0 不修改版本号的情况下增加、删除表、添加字段

    最近项目中使用了GreenDAO的3.0以上的版本,出现需要增加删除表的需求,刚开始用,发现官方对增加和删除的方法是每次去修改数据库版本号,版本一旦升级,那么原来数据库中的表会全部删除再重建.太麻烦, ...

  9. Android - 开发页面需了解的dip,sp,px知识,以及它们的转换

    工作中,时常会有任务要求开发新页面,这时一般的流程是产品经理确定要开发的页面和功能,然后设计师提供设计稿,之后由我们开发人员完成开发工作. 通常,设计师提供的设计稿尺寸标注会很详细,例如涉及到字时,字 ...

  10. SpringMVC ------JstlView

    摘要: Spring为展现层提供的基于MVC设计理念的优秀的Web框架,是目前最主流的MVC框架之一 .Spring3.0后全面超越Struts,成为最优秀的MVC框架 .SpringMVC通过一套M ...