对Cookie进行增删改查
public class CookieServletDemo extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
//cookie添加 ---向客户端添加/修改cookie
//addCookie(request,response);
readCookie(request,response);
//delCookie(request,response);
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
//读取客户端发来的cookie ---不同浏览器,cookie是不共享的
private void readCookie(HttpServletRequest request,
HttpServletResponse response) throws IOException {
Cookie cs[] = request.getCookies();
if(cs!=null){
for(Cookie c:cs){
String key = c.getName();
String value = c.getValue();
value = URLDecoder.decode(value, "utf-8");
int maxAge = c.getMaxAge();//cookie机制安全性考虑,不让读取,因此返回都是-1
System.out.println(key+","+value+","+maxAge);
}
}
}
//添加/修改
private void addCookie(HttpServletRequest request,
HttpServletResponse response) throws IOException {
//String name="hncu";
String name = "湖南城院";
name = URLEncoder.encode(name, "utf-8");//如果是中文,则需要编码
Random r = new Random();
name = name+r.nextInt(1000);
System.out.println(name);
Cookie coo = new Cookie("school", name);
coo.setMaxAge(60*60);//为该cookie设置有效期(浏览器会自动把它转变成过期时间)
coo.setPath(request.getContextPath());//由路径控制访问权限
response.addCookie(coo);//如果存在相同key的cookie则是覆盖(修改),若不存在则是新建(添加)
}
//删除cookie ==其实就是向浏览器添加一个maxAge为0的cookie, 该cookie的key为将要被删除cookie的,要注意权限(cookie路径要设得和创建时完全一样)
private void delCookie(HttpServletRequest request,
HttpServletResponse response) throws IOException {
//删除key为"school"的cookie
Cookie coo = new Cookie("school", "aa");
coo.setMaxAge(0);//效期设为0即是代表删除
coo.setPath(request.getContextPath());//权限控制:删除时,路径必须和创建时设置的完全一样,否则无权删除
response.addCookie(coo);//删除
}
}
---------------------------------------------------------------------------------------------------------------------------------------------
<a href="CookieServletDemo">CookieDemo基本用法演示</a>
<h3>以下servlet用于演示cookie的访问权限</h3>
<form action="servlet/CookieServletDemo2" method="post">
Name:<input type="text" name="name"/> <br/>
<input type="submit" value="提交"/>
</form>
对Cookie进行增删改查的更多相关文章
- Selenium入门13 cookie的增删改查
cookie的增删改查: 查询:get_cookies()查询所有cookie,get_cookie(cookie的name)获取单个cookie 删除:delete_cookie(cookie的na ...
- 原生js对cookie的增删改查
一.增 document.cookie = cname + "=" + cvalue + ";expires=" + expires + ";path ...
- cookie的增删改查函数
function setCookie(name,value,expires,path,domain){ //设置过期时间 var oDate = new Date(); oDate.setDate(o ...
- js中实现cookie的增删改查(document.cookie的使用详情)
一.设置cookie的值 1.每个cookie都是一个名称/值对,名称/值对用等号连接,并将该名称/值对赋值给document.cookie即可.如:document.cookie="id= ...
- 优秀前端工程师必备: cookie的增删改查Demo!
1 cookie可以很好地解决微信浏览器登录状态的保存,具体教程看下面链接: https://www.cnblogs.com/autoXingJY/p/10456767.html 2 参考了w3c等的 ...
- Cookie的增删改查
增加: 第一种方法:Response.Cookies[“UserName”].Value=”张三” Response.Cookies[“UserName”].Expires=DateTime.Now. ...
- Java实现对cookie的增删改查
原文地址:http://blog.csdn.net/k21325/article/details/54377830 @RequestMapping(value="meeting/addGua ...
- 网络系列之 cookie增删改查(封装)
什么是cookie 呢?简单来说,这个小东西,会记录你的 浏览器 浏览习惯,或 账号密码等, 以便于提高用户的体验感. 举个例子: 你们有没有发现,去淘宝一些购物网站, 你搜索了 椅子, 挑选了一会椅 ...
- sqlHelper做增删改查,SQL注入处理,存储值,cookie,session
一.存储值 eg:登录一个页面,在进入这个页面之前你怎么知道它登没登录呢?[在登录成功之后我们把状态保存起来] 存储值得方式有两种,一种是cookie,一种是session 1.1区别: 代码: if ...
随机推荐
- Android进阶篇-线程分析(一)
转载自:http://www.trinea.cn/android/java-android%E7%BA%BF%E7%A8%8B%E6%B1%A0/ 介绍new Thread的弊端及Java四种线程池的 ...
- (?m)
centos6.5:/root/sbin#cat -n vv 1 192.168.11.186,192.168.11.187 35199,3306 Dec 7, 2016 11:40:02.75052 ...
- 应付分配集 Distribution Sets
(N) AP > Setup > Invoice > Distribution Sets (定义分配集) You can use a Distribution Set to auto ...
- Cookie的前后台应用
1.jquery.cookie.js的基本应用 这个是第三方js插件,可以更方便的设置和使用cookie $.cookie("UserName", "kingtiger& ...
- iOS 开发者计划申请 2014 年最新心得[转]
iOS 开发者计划申请 2014 年最新心得 http://myfairland.net/ios-developer-program/
- Word对象模型 (.Net Perspective)
本文主要针对在Visual Studio中使用C# 开发关于Word的应用程序 来源:Understandingthe Word Object Model from a .NET Developer' ...
- 万科北京区域V-learn发布 系V-LINK产品系中首批产品
继今年4月发布了V-LINK万科社区服务商2.0升级版本后,万科北京区域再次迎来了品牌大动作.近日,北京万科正式发布“V-LINK”产品系中的首批产品“V-learn”相关战略. 全品类教育模式 据介 ...
- LightOJ 1245 Harmonic Number (II) 水题
分析:一段区间的整数除法得到的结果肯定是相等的,然后找就行了,每次是循环一段区间,暴力 #include <cstdio> #include <iostream> #inclu ...
- xcodebuild导出ipa方法
xcode 5.x版本导出ipa是不需要开发者账号,而xcode6以后导出ipa必须要求选择开发者team,无法绕开,但我们使用xcodebuild命令行可以无视这个限制 环境: mac osx 10 ...
- wuzhicms模版语法
在模版中使用的语法规则: 例如:templates/default/content/show.html 1.变量表示 {$title} 被解析成 <?php echo $title;?> ...