1.Cookies的原理

1)首先浏览器向服务器发出请求。

2)服务器就会根据需要生成一个Cookie对象,并且把数据保存在该对象内。

3)然后把该Cookie对象放在响应头,一并发送回浏览器。

4)浏览器接收服务器响应后,提出该Cookie保存在浏览器端。

5)当下一次浏览器再次访问那个服务器,就会把这个Cookie放在请求头内一并发给服务器。

6)服务器从请求头提取出该Cookie,判别里面的数据,然后作出相应的动作。

2.Cookie程序

建一个response_addCookie.jsp的文件,主要代码为:

    <%
//服务端
Cookie cookie1 = new Cookie("name","mwf");
Cookie cookie2 = new Cookie("pwd","123456");
response.addCookie(cookie1);
response.addCookie(cookie2);
//页面跳转到客户端(转发、重定向)
response.sendRedirect("result.jsp");
%>

建一个result.jsp文件,获取得到的Cookie值,主要代码为:

    <%
//客户端
Cookie[] cookies = request.getCookies();
for(Cookie cookie:cookies){
out.print(cookie.getName()+"--"+cookie.getValue()+"<br/>");
}
%>

3.运行结果和查看网页的Cookie值,在Natwork的respose header里面可以看浏览器的缓存,和输出的一致。

5.总结:使用Cookie实现 记住用户名 功能。

Cookie可以提高访问服务端的效率,但是安全性较差。而session可以弥补这个缺点。

服务端准备Cookie:response.addCookie(Cookie cookie)页面跳转(转发,重定向)

客户端获取cookie: request.getCookies();

要注意的地方:

服务端增加cookie :response对象;客户端获取对象:request对象。
不能直接获取某一个单独对象,只能一次性将 全部的cookie拿到。

通过F12可以发现 除了自己设置的Cookie对象外,还有一个name为 JSESSIONID的cookie。

建议 cookie只保存 英文数字,否则需要进行编码、解码。

javaweb学习之路(3)Cookie的更多相关文章

  1. 【JAVAWEB学习笔记】16_session&cookie

    会话技术Cookie&Session 学习目标 案例一.记录用户的上次访问时间---cookie 案例二.实现验证码的校验----session 一.会话技术简介 1.存储客户端的状态 由一个 ...

  2. JavaWeb学习篇之----Session&&Cookie

    今天继续来看看JavaWeb的相关知识,这篇文章主要来讲一下Session和Cookie的相关知识,首先我们来看一下Cookie的相关知识: 一.Cookie 简介: Cookie是客户端技术,服务器 ...

  3. javaweb学习总结(十一)——使用Cookie进行会话管理

    一.会话的概念 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 有状态会话:一个同学来过教室,下次再来教室,我们会知道这个同学曾 ...

  4. javaweb学习总结(十一)——使用Cookie进行会话管理(转)

    一.会话的概念 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 有状态会话:一个同学来过教室,下次再来教室,我们会知道这个同学曾 ...

  5. javaweb学习之路(2)response

    写一个简单的登录页面 1.创建一个login.jsp文件 主要内容: <form action="check.jsp" method="post"> ...

  6. javaweb学习之路(1)request

    1.本次练习写一个简单的注册页面 准备工作:首先搭建好服务器tomcat环境,使用的编译软件是eclipse 2.在eclipse中创建一个web工程 3.在webContent文件夹下创建一个reg ...

  7. JavaWeb学习总结(转载)

    JavaWeb学习总结(五十三)--Web应用中使用JavaMail发送邮件      JavaWeb学习总结(五十二)--使用JavaMail创建邮件和发送邮件     JavaWeb学习总结(五十 ...

  8. 转载-JavaWeb学习总结

    JavaWeb学习总结(五十三)——Web应用中使用JavaMail发送邮件 孤傲苍狼 2015-01-12 23:51 阅读:13407 评论:20     JavaWeb学习总结(五十二)——使用 ...

  9. FastAPI 学习之路(十三)Cookie 参数,Header参数

    系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ...

随机推荐

  1. ansible playbook loop 翻译

    ansible源文档地址 有时候你想多次重复一个任务. 在计算机编程中,这叫做循环. 常见的 Ansible 循环包括使用文件模块更改几个文件和 / 或目录的所有权,使用用户模块创建多个用户,并重复一 ...

  2. react typescript jest config (一)

    1. initialize project create a folder project Now we'll turn this folder into an npm package. npm in ...

  3. 开发者福利!百问I.MX6ULL裸机文档发布

    终于等到你,百问科技近600页的100ask_imx6ull裸机文档发布,已经合并到“嵌入式Linux应用开发完全手册第2版_韦东山全系列视频文档全集.pdf(1222页)”,所有人免费下载学习. 本 ...

  4. coding++:@DisallowConcurrentExecution 注解的作用

    Quartz定时任务默认都是并发执行的,不会等待上一次任务执行完毕,只要间隔时间到就会执行, 如果定时任执行太长,会长时间占用资源,导致其它任务堵塞. 在Spring中这时需要设置concurrent ...

  5. str_pad 和 filter_var

    这两个函数都是php内置函数,filter_var可直接过滤,比如邮箱,ip等,str_pad可补充字符串eg: 1  =>  001

  6. php内置函数call_user_func()

    <?php //call_user_func(callback,name,age) //第一个参数callback作为回掉函数使用,其余的参数是他的参数 function now($a,$b) ...

  7. 2019-2020-1 20199308《Linux内核原理与分析》第八周作业

    <Linux内核分析> 第七章 可执行程序工作原理 7.1 知识点 1.目标文件:编译器生成的文件,"目标"指平台,它决定了编译器使用的机器指令集. 2.目标文件格式: ...

  8. 记一次痛苦的Django报错调试经历:

    开发的程序在我的本地mac上,ubuntu上,以及树莓派上都成功实现了迁移和运行,但是当准备将运行好好地程序迁移到阿里云的服务器上的mysql数据库上时,出现了非常多的幺蛾子的问题. 具体如下: 初始 ...

  9. 《Android游戏开发详解》一1.7 控制流程第1部分——if和else语句

    本节书摘来异步社区<Android游戏开发详解>一书中的第1章,第1.7节,译者: 李强 责编: 陈冀康,更多章节内容可以访问云栖社区"异步社区"公众号查看. 1.7 ...

  10. DB2 Zos 浅谈 - DB2 LUW VS DB2 Zos

    DB2 Zos 浅谈 - DB2 LUW VS DB2 Zos 概述: 各位可能对DB2 LUW了解得比较多,但对DB2 Zos(大机操作系统)知之甚少,因为IBM的内部资料一向是比较封闭的,特别是我 ...