java设置cookie方法流程
引导语: Cookie有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。以下是小编整理的java设置cookie方法流程,欢迎参考阅读!
java设置cookie方法流程:
java对cookie的操作比较简单,主要介绍下建立cookie和读取cookie,以及如何设定cookie的生命周期和cookie的路径问题。
建立一个无生命周期的cookie,即随着浏览器的关闭即消失的'cookie,代码如下
--------------------------------
HttpServletRequest request
HttpServletResponse response
Cookie cookie = new Cookie("cookiename","cookievalue");
ookie(cookie);
--------------------------------
下面建立一个有生命周期的cookie,可以设置他的生命周期
--------------------------------
cookie = new Cookie("cookiename","cookievalue");
axAge(3600);
//设置路径,这个路径即该工程下都可以访问该cookie 如果不设置路径,那么只有设置该cookie路径及其子路径可以访问
ath("/");
ookie(cookie);
--------------------------------
下面介绍如何读取cookie,读取cookie代码如下
--------------------------------
Cookie[] cookies = ookies();//这样便可以获取一个cookie数组
for(Cookie cookie : cookies){
ame();// get the cookie name
alue(); // get the cookie value
}
--------------------------------
上面就是基本的读写cookie的操作。我们在实际中最好进行一下封装,比如增加一个cookie,我们关注的是cookie的name,value,生命周期,所以进行封装一个函数,当然还要传入一个response对象,addCookie()代码如下
--------------------------------
/**
* 设置cookie
* @param response
* @param name cookie名字
* @param value cookie值
* @param maxAge cookie生命周期 以秒为单位
*/
public static void addCookie(HttpServletResponse response,String name,String value,int maxAge){
Cookie cookie = new Cookie(name,value);
ath("/");
if(maxAge>0) axAge(maxAge);
ookie(cookie);
}
--------------------------------
读取cookie的时候,为了方便我们的操作,我们希望封装一个函数,只要我们提供cookie的name,我们便可以获取cookie的value,带着这个想法,很容易想到将cookie封装到Map里面,于是进行下面的封装
--------------------------------
/**
* 根据名字获取cookie
* @param request
* @param name cookie名字
* @return
*/
public static Cookie getCookieByName(HttpServletRequest request,String name){
Map cookieMap = ReadCookieMap(request);
if(ainsKey(name)){
Cookie cookie = (Cookie)(name);
return cookie;
}else{
return null;
}
}
/**
* 将cookie封装到Map里面
* @param request
* @return
*/
private static Map ReadCookieMap(HttpServletRequest request){
Map cookieMap = new HashMap();
Cookie[] cookies = ookies();
if(null!=cookies){
for(Cookie cookie : cookies){
(ame(), cookie);
}
}
return cookieMap;
}
--------------------------------
-
2017年计算机java提分练习题
学习必须如蜜蜂一样,采过许多花,这才能酿出蜜来。以下是小编为大家搜索整理的2017年计算机java提分练习题,希望对大家有所帮助!更多精彩内容请及时关注我们应届毕业生考试网!1).下列关于for循环和while循环的说法中哪个是正确的?e循环能实现的操作,for循环都能实现...
-
计算机二级考试Java精选训练题
下面是应届毕业生考试网小编搜索整理的计算机二级考试Java精选训练题,希望对大家有所帮助。[简答题]本题中,在下画线上填写代码,指定变量b为字节型,变量f为单精度实型,变量l为64位整型。publicclassjaval{publicstaticvoidmain(String[-]args){b=49;f=8.9f;l=0xfedl...
-
Java虚拟机垃圾收集算法
Java虚拟机的内存区域中,程序计数器、虚拟机栈和本地方法栈三个区域是线程私有的,随线程生而生,随线程灭而灭;栈中的栈帧随着方法的进入和退出而进行入栈和出栈操作,每个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,因此这三个区域的内存分配和回收都具...
-
java中JVM虚拟机内存模型详细说明
以下是本站小编为大家收集的java中JVM虚拟机内存模型详细说明内容,欢迎阅读学习!JVM的内部结构如下图:java中JVM虚拟机内存模型详细说明-天涯草-天涯草一个优秀Java程序员,必须了解Java内存模型、GC工作原理,以及如何优化GC的性能、与GC进行有限的交互,有一些应用程...