Cookie,Session基础知识

//这部分主要是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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/386213.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里P8亲自讲解!java中级开发工程师需要掌握的技能

前言 关于技术人如何成长的问题,一直以来都备受关注,因为程序员职业发展很快,即使是相同起点的人,经过几年的工作或学习,会迅速拉开极大的差距,所以技术人保持学习,提升自己,才能够…

随笔--互联网进化论

不闻不若闻之;有的人士的理论引起了轰动,吾等小网民也来学学,没那么大脑袋,从不敢谈解读与批判。闻香而来,放屁而去。比如说互联网进化论。看看实践,互联网的膨胀式发展是不会停的,在中国的互联…

阿里P8亲自讲解!java分布式需要学什么技术

引言 最近项目上线的频率颇高,连着几天加班熬夜,身体有点吃不消精神也有些萎靡,无奈业务方催的紧,工期就在眼前只能硬着头皮上了。脑子浑浑噩噩的时候,写的就不能叫代码,可以直接叫做Bug。我就熬夜写了一个…

Javascript的this用法

出自:http://www.ruanyifeng.com/blog/2010/04/using_this_keyword_in_javascript.html this是Javascript语言的一个关键字。 它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。比如, function test(){ this.x 1; }…

[New Portal]Windows Azure Web Site (4) Web Site Gallery

《Windows Azure Platform 系列文章目录》 前言:最近因为工作变动,更新博客的速度变慢了。笔者在这边感到非常抱歉,以后尽量每周更新一篇Windows Azure的博客给大家。 好了,我们回到本章内容。 Windows Azure通过Web Role和Worker…

阿里P8亲自讲解!java声明类的语法格式

前言 前两天,我收到了蚂蚁金服的offer,从朋友的内推开始面试到拿到最后offer经历了4面技术、一面交叉面和一面HR面。经过了漫长的等待和几次几乎折磨的面试之后,终于拿到了offer。 分享第一份Java基础-中级-高级面试集合 Java基础&#xff…

java-transaction事件

/*########事务&数据库连接池&DBUtils ######事务 > Transaction 其实指的一组操作,里面包含许多个单一的逻辑。只要有一个逻辑没有执行成功,那么都算失败。 所有的数据都回归到最初的状态(回滚) ####为什么要有事务?> 为了确保逻辑的成功…

阿里P8亲自讲解!java实例变量和类变量

前言 Spring如何解决的循环依赖,是近两年流行起来的一道Java面试题。其实笔者本人对这类框架源码题还是持一定的怀疑态度的。如果笔者作为面试官,可能会问一些诸如“如果注入的属性为null,你会从哪几个方向去排查”这些场景题。那么既然写了…

java---连接池的学习

/** ####################################数据库的连接池学习################################# * * * #####数据库连接池 >1. 数据库的连接对象创建工作,比较消耗性能。 >2.一开始现在内存中开辟一块空间(集合) , 一开…

阿里P8亲自讲解!成功入职头条月薪35K

前言 又到一年金九银十之际。 Java作为目前用户最多,使用范围最广的软件开发技术之一。 Java的技术体系主要由支撑Java程序运行的虚拟机,提供各开发领域接口支持的Java,Java编程语言及许多第三方Jvav框架构成。 其中,以Java的虚拟器为今天的着…

java----连接池C3p0使用的补充

C3p0数据库的连接方式是目前市场场最为广泛的类型之一 本篇主要你演示C3p0使用文件配置和不使用文件配置的两种操作方式 #######使用文件配置 import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException;import com.dbutil.zyz.ConnLink; …

阿里P8大佬亲自教你!java程序设计第四版pdf

前言 最近有很多朋友去目前主流的大型互联网公司面试(阿里巴巴、京东、字节跳动、蚂蚁金服、滴滴),面试回来之后会发给我一些面试题。有些朋友轻松过关,拿到offer,但是有一些是来询问我答案的。 我特意整理了一下&am…

阿里P8大佬亲自讲解!朝阳java培训

开头 Spring框架自诞生以来一直备受开发者青睐,有人亲切的称之为:Spring 全家桶。Spring更是避免了重复造轮子的工作并跟随着互联网行业的发展做出不断的更新,很多研发人员把spring看作心目中最好的Java项目,没有之一。 **可以毫…

分隔符的作用和用法

一、插入分页符 当文本或图形等内容填满一页时,Word会插入一个自动分页符并开始新的一页。如果要在某个特定位置强制分页,可插入“手动”分页符,这样可以确保章节标题总在新的一页开始。首先,将插入点置于要插入分页符的位置&…

java----DBUtils知识点补充

dbutils 只是帮我们简化了CRUD 的代码, 但是连接的创建以及获取工作。 不在他的考虑范围 QueryRunner主要是这个类 import java.sql.SQLException;import org.apache.commons.dbutils.QueryRunner;import com.mchange.v2.c3p0.ComboPooledDataSource;public class D…

大厂offer手到擒来,Java面试真题精选

前言 事务我们都知道是什么,而Spring事务就是在数据库之上利用AOP提供声明式事务和编程式事务帮助我们简化开发,解耦业务逻辑和系统逻辑。但是Spring事务原理是怎样?事务在方法间是如何传播的?为什么有时候事务会失效&#xff1f…

大厂也在用的6种数据脱敏方案,醍醐灌顶!

前言 由于作者面试过程中高度紧张,本文中只列出了自己还记得的部分题目。 经历了漫长一个月的等待,终于在前几天通过面试官获悉已被蚂蚁金服录取,这期间的焦虑、痛苦自不必说,知道被录取的那一刻,一整年的阴霾都一扫…

大牛带你直击优秀开源框架灵魂,给大家安排上!

前言 微架构的出现,很好地适应了这个时代对快速发展变化的要求。它不再提倡一体化的项目设计,而是对项目进行有效的“业务区”(可以简单理解为不同的子系统〉划分,并利用合理的技术对业务性能做出提升和改善,同时又极大地简化了配…

大牛用SSM框架实现了支付宝的支付功能,满满干货指导

前言 现在刷抖音经常可以看到一些老外街坊,问他们最想把什么带回自己的国家,我听过很多的回答都是:淘宝,支付宝,美食,微信,外卖,高铁等等。 确实如此,随着国家的快速发…

java---Listener Filter知识点学习

##Listener > 监听器 * 能做什么事? > 监听某一个事件的发生。 状态的改变。 * 监听器的内部机制 > 其实就是接口回调. ####接口回调 * 需求: > A在执行循环,当循环到5的时候, 通知B。 > 事先先把一个对象传递给 …