Cookie重名问题处理
常用 API --- Cookie重名问题
1)、Cookie 重名时,可能执行覆盖操作
2)、什么情况下不覆盖?
A、站点不同时
B、setPath("路径");//路径不同时,Cookie 可以重名
步骤详解:
创建一个servlet命名为PathDemo用来缓存cookie
在类中给所有cookie变量设置路径,如果单一设置会将所有的路径都打印出来
在servlet中运行,http://localhost:8080/PathDemo,将路径存进cookie
此时请求头里不会有数据,因为每个变量都加了路径,地址栏里没有设置路径
创建servlet测试类打印信息
http://localhost:8080/BBB/TWoServlet此时控制台会打印出指定路径的值,路径和配置文件路径URL一致
打印出来222
详细代码:
public class PathDemo extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Cookie c1 = new Cookie("A","111");
//设置 PATH
Cookie c2 = new Cookie("B","222");
Cookie c3 = new Cookie("B","333");
c1.setPath("/AAA");
c2.setPath("/BBB");
c3.setPath("/CCC");
response.addCookie(c1);
response.addCookie(c2);
response.addCookie(c3);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
public class TWoServlet extends HttpServlet
public void doGet(HttpServletRequest req,HttpServletResponse res){
Cookie[] cookies = req.getCookies();
if(cookies!=null && cookies.length>0){
for (Cookie cookie : cookies) {
System.out.println(cookie.getName()+" "+cookie.getValue());
}
}
}
public void doPost(HttpServletRequest req,HttpServletResponse res){
doGet(req, res);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>day34Demo01_Cookie</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<description></description>
<display-name>PathDemo</display-name>
<servlet-name>PathDemo</servlet-name>
<servlet-class>cn.itcast.web.servlet.PathDemo</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PathDemo</servlet-name>
<url-pattern>/PathDemo</url-pattern>
</servlet-mapping>
<servlet>
<description></description>
<servlet-name>TWoServlet</servlet-name>
<servlet-class>cn.itcast.web.servlet.TWoServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TWoServlet</servlet-name>
<url-pattern>/BBB/TWoServlet</url-pattern>
</servlet-mapping>
</web-app>
Cookie重名问题处理相关推荐
- 不同模块下包重名怎么解决_模块
模块 1. 模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py.模块可以被别的程序引入,以使用该模块中的函数等功能. 2. 当解释器遇到 import 语句,如果模块在当前的搜索路径就会被导 ...
- android id 重名_Android App 自定义权限重名不能安装解决办法
场景1. A 应用 有两个版本 第一个 正式版 第二个测试版 测试版的包名 = 正式版+test ,在Android studio 中 也就是 applicationId . 两个版本都可以成 ...
- Ajax实现简单用户名重名查询
很早就想发布这篇POST了,Ajax实现简单用户名重名查询,引用了xmlhttprequest object pool,如下: XMLHttpRequest Object Pool /** * XM ...
- java实现动态上传多个文件并解决文件重名问题
java实现动态上传多个文件并解决文件重名问题 参考文章: (1)java实现动态上传多个文件并解决文件重名问题 (2)https://www.cnblogs.com/skycodefamily/p/ ...
- 【更新】北京、广东、吉林重名数量查询工具,给孩子起名重名查询
最近很多朋友需要重名查询的功能,我今天测试了一下,北京和广东的查询工具好像都有点问题(不知道是不是和最近的那啥有关).那两个链接都是政府的网站(域名有gov),大家也能看出来,不知道因为什么原因不能使 ...
- 北京、广东重名数量查询工具,给孩子起名重名查询
只找到了北京和广东的重名数量查询,哪位朋友有其他省市的重名数量查询链接可以在后台发给我,感谢. 两个网站都是gov的政府网站,应该是从公安的数据库查询的重名数量. 北京查询截图: 广州查询截图: 两个 ...
- 从JavaScript函数重名看其初始化方式
今天有个哥们问我要是JavaScript函数重名了会有什么后果?开始我没有细想,就说可能会出错吧,可是等我实验完了发现页面没有任何脚本错误提示,而且程序也运行了,只是对同名函数的调用执行了位置靠后的一 ...
- linux 下重名名文件
linux 下重名名文件 最经在使用linux的时候,用到重名的功能,在网上找了一下,找到一下方法: 使用mv命令重名名: 原理:使用 mv 移动文件的功能,见当前文件以要修改的名字移动到当前文件夹, ...
- AJAX——注册新用户的重名提示
基本概念 AJAX:AJAX引擎其实是一个JavaScript对象,全写是 window.XMLHttpRequest对象,由于浏览器的版本不同,特别是老版本的IE浏览器,虽然也支持AJAX引擎,但是 ...
最新文章
- linux中的rm 删除命令
- 苏宁易购Android架构演进史
- matplotlib输出图形到网页_必学python库Matplotlib教程分享
- 按群计数10以内_大班数学活动:按群计数
- C#[抽象类,接口]
- TortoiseSVN与VisualSVN Server搭建SVN版本控制系统【转】
- as5300g2 nas软件功能_【浪潮混闪存储AS5300G5-可同时提供SAN和NAS两种服务的中端混闪存储系统】价格_厂家 - 中国供应商...
- (转)程序员的十层楼11层(上帝)
- Linux网络编程常见面试题
- stl max函数_std :: max_element()函数以及C ++ STL中的示例
- 服务器多路径 映射分区找不到,设备映射多路径DM-Multipath
- using namespace std
- Qt4项目迁移到Qt5问题:greaterThan(QT_MAJOR_VERSION, 4): QT += widgets .
- 【5分钟 Paper】Continuous Control With Deep Reinforcement Learning
- 【wikioi】1014 装箱问题
- DirectX 初始化DirectX(手写和红龙书里面的方式)
- Linux下卸载anaconda3
- 用于Firefox的Google工具栏Beta 2发布
- 什么是阿尔法和贝塔?
- 4.React Native项目开发如何配置调试
热门文章
- 3.《The Shawshank Redemption》
- tensorflow 1.10下Mask RCNN实现自己数据集
- UG/NX二次开发 选择坐标系控件 uc1630
- 你好法语A1语法单元汇总(unité 7)
- grafana+alertmanager 微信报警发送给不同告警人
- application实现一个简单的网页计数器
- Python3快速入门教程-zyiz.net
- InvalidOptions: Requested option conflicts with current storage engine option for directoryPerDB
- androidP Surface到SurfaceFlinger -->surface -> BufferQueue(一)
- (2012.12.25)我的中级软件设计师考试