首页 » Java » Spring » 正文

基于SpringMVC的Cookie常用操作详解

在下面的内容中,我将介绍基于SpringMVC的一些Cookie常用操作,包括:cookie的增、删、改、查

一 Cookie的属性简介

对于一个Cookie来说,一般有以下几个属性:

20160916151803

  • Name:一个cookie的名字
  • Value:一个cookie的值
  • Domain:可以访问该cookie的域名。非顶级域名,如二级域名或者三级域名,设置的cookie的domain只能为顶级域名或者二级域名或者三级域名本身,不能设置其他二级域名的cookie,否则cookie无法生成;顶级域名只能设置domain为顶级域名,不能设置为二级域名或者三级域名,否则cookie无法生成;二级域名能读取设置了domain为顶级域名或者自身的cookie,不能读取其他二级域名domain的cookie。所以要想cookie在多个二级域名中共享,需要设置domain为顶级域名,这样就可以在所有二级域名里面或者到这个cookie的值了;顶级域名只能获取到domain设置为顶级域名的cookie,其他domain设置为二级域名的无法获取
  • Path:可以访问此cookie的页面路径
  • Expires/Max-Age:该cookie的超时时间。若设置为一个具体的时间,那么当到达此时间后,此cookie失效;不设置的话默认值是Session,当前会话结束后该cookie失效(PS:比如关闭浏览器)
  • Size:该cookie的大小
  • HTTP:cookie的httponly属性。若此属性为true,那么在客户端则不能通过脚本(PS:比如JavaScript)来读取该cookie值
  • Secure:若此属性为true,cookie 只能在 HTTPS 连接中被浏览器传递到服务器端进行会话验证,如果是 HTTP 连接则不会传递该cookie

注:该视图可以在浏览器中按F12,在Resources栏目中看到

二 关于Cookie的一个简单入门示例

(1)在一个Controller中手动设置cookie的一些参数:

在这里,通过手动创建了一个cookie,并设置了一系列的参数,最后通过HttpServletResponse传递到返回页中

(2)hello.jsp页面:

最后的显示效果如下:

20160916155206

然后每次刷新页面,页面中的数字都会增加

三 Cookie的增删改查示例

(1)新建一个CookieUtils类,用于写cookie的基本增删改查:

注:上面用到的CookieConstantTable类,其内容如下:

(2)在上面的controller中新添加几个方法:

(3)显示cookie的show.jsp页面:

(4)效果测试:

i)新建cookie:

访问:http://localhost:9180/CookieDemo/testAddCookie.html

20160916162501

ii)获取cookie:

访问:http://localhost:9180/CookieDemo/testGetCookie.html

输出如下:

14583736-4f5e-4411-9785-f19e9190a0b4-1244746321

iii)修改cookie:

访问:http://localhost:9180/CookieDemo/testEditCookie.html

20160916162727

iv)删除cookie:

访问:http://localhost:9180/CookieDemo/testDelCookie.html

20160916162856

参考文章:

发表评论

*