这个Cookie吧,可把我给坑惨了。一开始以为挺简单的也不去深入学习,简单过一下。后来就gg
我掉的什么坑呢?
是这样的,因为我在我使用Servelt开发时,一开始没有并没有设置它的作用路径(也就是那个 setPath(String path) 方法), 然后呢,它就只在我提交的下一个页面Cookie有效(假如A页面和B页面,我从A设置Cookie,然后请求转发或者重定向到B)。 那么它只在下一个页面有效,然后不论到那个页面Cookie都获取不到。 我先是后台获取,然后前台,结果都获取不到,这种bug,特能整人。
后面查阅资料发现 我只要设置一个 setPath() 就可以了, cao.
后面就可以愉快的玩耍了
最后推荐一些 Servlet Cookie 方法
以下是在 Servlet 中操作 Cookie 时可使用的有用的方法列表。
序号 | 方法 & 描述 |
---|---|
1 | public void setDomain(String pattern) 该方法设置 cookie 适用的域,例如 runoob.com。 |
2 | public String getDomain() 该方法获取 cookie 适用的域,例如 runoob.com。 |
3 | public void setMaxAge(int expiry) 该方法设置 cookie 过期的时间(以秒为单位)。如果不这样设置,cookie 只会在当前 session 会话中持续有效。 |
4 | public int getMaxAge() 该方法返回 cookie 的最大生存周期(以秒为单位),默认情况下,-1 表示 cookie 将持续下去,直到浏览器关闭。 |
5 | public String getName() 该方法返回 cookie 的名称。名称在创建后不能改变。 |
6 | public void setValue(String newValue) 该方法设置与 cookie 关联的值。 |
7 | public String getValue() 该方法获取与 cookie 关联的值。 |
8 | public void setPath(String uri) 该方法设置 cookie 适用的路径。如果您不指定路径,与当前页面相同目录下的(包括子目录下的)所有 URL 都会返回 cookie。 |
9 | public String getPath() 该方法获取 cookie 适用的路径。 |
10 | public void setSecure(boolean flag) 该方法设置布尔值,表示 cookie 是否应该只在加密的(即 SSL)连接上发送。 |
11 | public void setComment(String purpose) 设置cookie的注释。该注释在浏览器向用户呈现 cookie 时非常有用。 |
12 | public String getComment() 获取 cookie 的注释,如果 cookie 没有注释则返回 null。 |