在读取Cookie,然后操作时,除了getName(),getValue()外,不要妄图得到其他信息,如下方法不会得到值的:
cookie.getMaxAge();
cookie.getDomain();
。。。
因为,客户端传来的时候,就只剩下key和value了。
Java中的Cookie操作:
在Java中利用Serlvet或者JSP scriptlet可以向浏览器端写入Cookie。
同样,利用Servet或者JSP scriptlet 也可以读取到 Cookie信息。
Servlet规范中的Cookie API 如下:
setMaxAge setPath setDomain等方法,可以对Cookie状态进行控制;
同样存在如下方法,可以获得相应的状态:
getMaxAge getPath getDomain等方法,可以对Cookie的状态。
然后,问题来了:
读取Cookie时,发现除了Cookie的key和value外,其他的信息都丢失了!!
原因很简单:
Cookie从服务器端发送到客户端时,信息是完整的;
Cookie从客户器端发送到服务端时,信息只剩下key、value了。
(想想也明白,Domain不对的Cookie、Path不对的Cookie、过期的Cookie,客户端是不会发送过来的。)
那为什么Java中提供了相应的get方法呢? 那个方法是在生成Cookie后,尚未发送到客户端时,使用的。是“封装”的体现
分享到:
相关推荐
在循环中,可以使用 `cookie.getName()` 和 `cookie.getValue()` 方法来获取 Cookie 的名称和值。 使用 Cookie 记录访问数 在 JSP 中,使用 Cookie 记录访问数可以分为三步:用户第一次访问网页时的操作、用户非第...
在用户访问网站时,需要检测 Cookie 是否存在,如果存在,则进行自动登录。 代码示例: ```java String usernameCookie = null; String passwordCookie = null; Cookie[] cookies = request.getCookies(); if ...
在读取 cookie 时,需要调用 HttpServletRequest 的 getCookies 方法,这个调用返回 Cookie 对象的数组,对应由 HTTP 请求中 Cookie 报头输入的值。然后,对数组进行循环,调用每个 cookie 的 getName 方法,直到...
new Cookie(String name,String value) — Cookie在构造的时候就需要设定好cookie的名字和值 4.获取cookie的名字:cookie.getName(); 5.获取cookie的值:cookie.getValue(); 6.设置cookie的值:cookie.setValue(); ...
名字和值是我们始终关心的两个部分,笔者会在后面详细介绍 getName/setName。 String getPath() 返回Cookie适用的路径。如果不指定路径,Cookie将返回给当前页面所在目录及其子目录下 的所有页面。 boolean ...
GeoTools 读取 SHP 文件及 SHP 文件操作工具类代码解析 GeoTools 是一个开放源代码的 Java 库,用于处理地理信息系统(GIS)数据。SHp 文件是 GIS 中的一种常见文件格式,用于存储地理空间数据。本文将对 GeoTools ...
getname_main_python2................
举例来说,一个Web站点可能会为每一个访问者产生一个唯一的ID,然后以Cookie文件的形式保存在每个用户的机器上。 如果用户使用IE浏览器访问Web,用户就会看到所有保存在自己硬盘上的Cookie。它们最常存放的地方...
可以写任意java代码 ...Cookie[]cookies=request.getCookies(); Stringusername="";...if("remname".equals(c.getName())){ username=c.getValue(); //解码 username=URLDecoder.decode(username,"utf-8"); } } } %>
Servlet引擎载入Servlet后,Servlet引擎必须对Servlet进行初始化,在这一过程中,你可以读取一些固定存储的数据、初始化JDBC的连接以及建立与其他资源的连接。 在初始化过程中,javax.servlet.Servlet接口的init()...
Excel POI读取封装(文件+示范代码) package org.excel.service; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOException; import java....
在上面的代码中,我们使用了 JDBC 来连接 MySQL 数据库,然后使用 PreparedStatement 来执行插入操作。在插入操作中,我们使用 `setBinaryStream` 方法来将图片文件插入到数据库中的 Blob 字段中。 Blob 的存取注意...
* org.dom4j.Attribute:提供了getName和getValue等方法,可以获取属性的名称和值。 * org.dom4j.Text:提供了getText等方法,可以获取文本节点的值。 * org.dom4j.CDATA:提供了getText等方法,可以获取CDATA ...
Cookie cookie = new Cookie("name", "zhangsan"); //设置Cookie的超时时间 cookie.setMaxAge(24 * 60 * 60 *60); //把Cookie发送到客户端 response.addCookie(cookie); //得到客户端发送的Cookie Cookie [] ...
PHP getName() 函数 实例 返回 XML 元素及其子元素的名称: <?...$xml=<<<...xml version=1.0 standalone=yes?...echo $sxe->getName() . ; foreach ($sxe->children() as $child) { echo $child
cookie setValue null ; 关键 cookie setMaxAge 0 ; response addCookie cookie ; } } } request getRequestDispatcher "login jsp" forward request response ;...
这个小程序是一共用java编写的通过读取Excel中名单随机点名程序,用户可以通过替换文件夹中的Excel为自己的名单,本程序通过封装成exe可执行文件可以直接在Windows 64位 下运行不用担心java虚拟机。
否则,在指定的时间内等待其它线程释放连接. * * @param name 连接池名字 * @param time 以毫秒计的等待时间 * @return Connection 可用连接或null */ public Connection getConnection(String name, long time...
bat命令,可以获取文件夹下所有文件的名字含后缀,也可以获取指定后缀的文件名,另存为LIST文本文件,非常方便好用的bat命令
两个CADODatabse class and the CADORecordset class,这是为了在C++中更好地进行ADO数据库操作 主要的类及其函数罗列如下: The CADODatabase Class CADODatabase Open Execute GetRecordsAffected ...