//这部分主要是CookieSession的笔记部分/** //获取来访的客户端类型String clientTye=req.getHeader("User-Agent");//如果是火狐浏览器,那么使用以下代码if(clientTye.contains("Firefox")){fileName=DownLoadUtil.base64EncodeFileName(fileName);}else{//IE,或者是谷歌浏览器//对中文的名字进行编码处理fileName=URLEncoder.encode(fileName,"UTF-8");}*///DownLoadUtil部分是Base64的代码部分。如下/** //Base4加密解密方式public class DownLoadUtil {public static String base64EncodeFileName(String fileName) {BASE64Encoder base64Encoder = new BASE64Encoder();try {return "=?UTF-8?B?"+ new String(base64Encoder.encode(fileName.getBytes("UTF-8"))) + "?=";} catch (UnsupportedEncodingException e) {e.printStackTrace();throw new RuntimeException(e);}}
}*///重定向问题的两种写法//1.早期写法:/*设置状态码?重新定位状态码resp.setStatus(302);定位跳转的位置是哪一个页面resp.setHeader("location","sucess-login.html");2.直接跳转的写法跳转到成功的界面resp.sendRedirect("sucess-login.html");*//*######请求转发的问题* //请求转发的写法://req.getRequestDispatcher("sucess-login.html").forward(req, resp);*//** ###Cookie学习笔记* 直译饼干的意思,其实是一份小数据,是服务器给客户端的,并且存在客户端上的一份小数据    * * 应用场景:自动登录,浏览记录,购物车* * ###为什么要有这个Cookie?* http的请求是无状态。客户端与服务器在通讯的时候,是无状态的,其实就是客户端在第二次来访的时候,服务器根本不知道* 这个客户端以前有没有来访问过。为了更好的用户体验,更好的交互。* 其实从公司层面讲,就是为了更好的收集客户信息* * * ###Cookie怎么用?* 创建CookieDemo01*         添加Cookie给客户*           1.在响应的时候,添加Cookie*             Cookie cookie=new Cookie("name", "zyz");*             给响应添加一个cookie*             resp.addCookie(cookie);*         *          2客户端收到的信息里面,响应头中多了一个字段Set-Cookie* * * *###获取客户端带过来的Cookie*        //获取客户端带过来的cookieCookie[] cookies=req.getCookies();if(cookies!=null){for(Cookie c:cookies){String cookieName=c.getName();String cookieValue=c.getValue();System.out.println(cookieName+"=="+cookieValue);}}###cookie的有效期,
默认情况下,关闭浏览器后,Cookie就没有了。expiry:有效----------->有效值以秒计算
正值:表示在这个数字之后,cookie将会失效
负值,表示关闭浏览器,那么cookie就会失效,默认是值是-1####常用方法
//设置Cookie的周期cookie.setMaxAge(60);//赋值新的值//cookie.setValue(newValue);//用于指定只有请求了指定的域名,才会带上该cookie//cookie.setDomain("");//只有访问该域名下的cookieDemo的这个路径地址才会带cookie//cookie.setPath("/cookieDemo");###例子---->显示最近访问的时间
获取带过来的cookie1.没有cookie第一次登录1输出登录成功或者失败2给客户端添加cookienew Cookie("last",时间)2有cookie第二次登录1.输出成功或者失败2获取以前的cookie#####Cookie的安全问题
由于Cookie会保存在客户端上,所以有安全隐患问题,还有一个问题,Cookie的大小与个数有限制,
为了解决问题------->Session####Session
会话,Session是给予Cookie的一种会话机制,Cookie是服务器返回一小份数据给客户端,并且
存放在客户端上,Session是,数据存放在服务器端。####Session常用的API//获得会话HttpSession session=req.getSession();//得到会话的idString id=session.getId();//存值session.setAttribute("name","value");//取值session.getAttribute("name");//移除值session.removeAttribute("name");###Session的创建和销毁创建
如果有在Servlet里面调用了request.getSession()销毁
Session是存放在服务器的内存中的一份数据,当然可以持久化,Redis.即使关了浏览器,Session也不会销毁销毁方法1关闭服务器2 Session会话时间结束,默认有效期30分钟*/

转载于:https://www.cnblogs.com/byczyz/p/11337492.html

Cookie,Session基础知识相关推荐

  1. C# 系统应用之Cookie\Session基础知识及php读取Cookie\Session

    本文主要是毕业设计"个人电脑使用记录清除软件"系列系统应用文章中关于Cookie方面的知识,主要从介绍Cookie的基础知识和PHP关于Cookie\Session两个会话管理机制 ...

  2. Session基础知识

    Session基础知识 主题 概念 Session的创建 Session的存储机制 Session的失效 参考资料 概念 Session代表一次用户会话.一次用户会话的含义是:从客户端浏览器连接服务器 ...

  3. ajax获取session值_cookie和session基础知识学习

    一.session的简单使用 session是服务器端技术,服务器在运行时可以为每一个用户的浏览器创建一个独享的session对象. session的使用步骤: 获取session对象 使用sessi ...

  4. http session 基础知识

    因为Http的无接连,无状态,所以造就了Cookie,Session的诞生. Session也是类似Cookie一样的功能,用于记录客户端浏览器与服务器端交互的会话状态.它与Cookie的重要区别是: ...

  5. IM开发基础知识补课(四):正确理解HTTP短连接中的Cookie、Session和Token

    1.前言 众所周之,IM是个典型的快速数据流交换系统,当今主流IM系统(尤其移动端IM)的数据流交换方式都是Http短连接+TCP或UDP长连接来实现.Http短连接主要用于从服务器读取各种持久化信息 ...

  6. 复习JavaWeb的小项目书籍信息的增删改查分页功能实现Java面试题Session和Cookie的基础概念生活【记录一个咸鱼大学生三个月的奋进生活】034

    记录一个咸鱼大学生三个月的奋进生活034 JavaWeb的增删改查分页功能实现 前期准备工作(数据库连接类和实体类) 数据库建立 数据库连接类(DBManager) 书籍信息的实体类(Book) 操作 ...

  7. java培训基础知识都学哪些

    很多人都开始学习java技术,觉得java语言在未来的发展前景空间非常大,事实却是如此,那么针对于零基础的同学, 学习java技术需要学哪些呢?下面我们就来看看java培训基础知识都学哪些? java ...

  8. 超详细的Java面试题总结(四 )之JavaWeb基础知识总结

    系列文章请查看: 超详细的Java面试题总结(一)之Java基础知识篇 超详细的Java面试题总结(二)之Java基础知识篇 超详细的Java面试题总结(三)之Java集合篇常见问题 超详细的Java ...

  9. 你觉得什么才是 Java 的基础知识?

    近日里,很多人邀请我回答各种j2ee开发的初级问题,我无一都强调java初学者要先扎实自己的基础知识,那什么才是java的基础知识?又怎么样才算掌握了java的基础知识呢?这个问题还真值得仔细思考. ...

最新文章

  1. 【敬初学者】Python基础学完了,该怎么知道自己学的怎么样呢?十个经典实战小项目附源码
  2. Python爬虫小实践:爬取任意CSDN博客所有文章的文字内容(或可改写为保存其他的元素),间接增加博客访问量...
  3. 试试博客园的markdown编辑器
  4. Pandas 4 个小 trick,都很实用!
  5. Entity Framework Core 生成跟踪列
  6. jboss项目导入idea_JBoss BPM Suite快速指南–将外部数据模型导入BPM项目
  7. 理论基础 —— 排序 —— 希尔排序
  8. Orchard使用中的坎坎坷坷
  9. composer笔记
  10. 15 个可在 Chrome 浏览器上体验 WebGL 的例子
  11. Windows2000 安装VMware Tools所需KB835732 补丁包
  12. python 循环播放音乐_python中pygame循环播放3首音乐和3张图片
  13. 成立1年的水母智能,AI智能设计生意做得如何?
  14. 梁宁《产品思维》之5同理心训练:产品要顺应用户潜意识
  15. 含类定义的完整python程序_含是什么意思 带含字的男孩名字 用含字起名的寓意...
  16. codec2中的函数命名后缀vb nb sm
  17. 【毕业设计选题】STM32毕业设计题目推荐大全
  18. jQuery拆分字符串 split()并且遍历$.each()
  19. web作业之期末工程 “耀炎食品网站”
  20. 预期功能安全(Safty Of The Intended Functionality,SOTIF)知识学习

热门文章

  1. Jquery对复选框的操作
  2. python configparser 注释_使用configpar添加注释
  3. 自动论文生成器 python_Python生成器常见问题及解决方案
  4. mysql有子查询么_sql-带有子查询的mysql更新查询
  5. 160 - 25 CodeZero.1
  6. 【数据结构基础笔记】【队列】
  7. PHP的foeach用法
  8. final 在java,final 在java中的注意点
  9. c语言switch为什么要加break,c语言学习笔记 switch case语句为什么要加break
  10. 牛客网选择题之linux