获取cookie的3种方式
创建Cookie
//使用URLEncoder.encode()编码,因为cookie不能存储中文,否则有中文会报错
String city = URLEncoder.encode("北京_BJ", "utf-8");
//创建Cookie
Cookie cookie = new Cookie("city", city);
//设置Cookie的最大生命周期,否则浏览器关闭后Cookie即失效
cookie.setMaxAge(Integer.MAX_VALUE);
//将Cookie加到response中
response.addCookie(cookie);
获取Cookie的3种方式:
JSP表达式
在jsp页面中遍历cookie,找到指定的cookie
<%String city = "";//获取所有CookieCookie[] cookies = request.getCookies();//如果浏览器中存在Cookieif (cookies != null && cookies.length > 0) {//遍历所有Cookiefor(Cookie cookie: cookies) {//找到name为city的Cookieif (cookie.getName().equals("city")) {//使用URLDecode.decode()解码,防止中文乱码city = URLDecoder.decode(cookie.getValue(), "utf-8");}}}
%>
在需要显示的位置用jsp表达式展示
<%= city %>
EL内置对象cookie
使用 ${cookie.city.value } 直接获得即可,但如果有中文的话,会出现中文乱码
${cookie.city.value }
jQuery Cookie
使用jQuery,需引入js文件:
jquery-3.2.0.js
和jquery-3.2.0.min.js
官网下载链接
<script src="js/jquery-3.2.0.js"></script>
使用jQuery Cookie插件,需引入js文件: jquery.cookie.js
官网下载链接
<script src="js/jquery.cookie.js"></script>
将Cookie存的内容放到id=”city”的元素中
<script type="text/javascript">
$(document).ready(function() {//$.cookie("city") 获取name为city的Cookie的值//$("#city").val(str) 设置id="city"的元素的值为str$("#city").val($.cookie("city"));
});
</script>
<input type="text" id="city">
测试结果
测试代码
testCookie.jsp
<%@page import="java.net.URLDecoder"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>testCookie</title>
<script src="js/jquery-3.2.0.js"></script>
<script src="js/jquery.cookie.js"></script>
<script type="text/javascript">
$(document).ready(function() {//$.cookie("city") 获取name为city的Cookie的值//$("#city").val(str) 设置id="city"的元素的值为str$("#city").val($.cookie("city"));
});
</script>
<style type="text/css">input {width:200px;}
</style>
</head>
<body>
<%String city = "";//获取所有CookieCookie[] cookies = request.getCookies();//如果浏览器中存在Cookieif (cookies != null && cookies.length > 0) {//遍历所有Cookiefor(Cookie cookie: cookies) {//找到name为city的Cookieif (cookie.getName().equals("city")) {//使用URLDecode.decode()解码,防止中文乱码city = URLDecoder.decode(cookie.getValue(), "utf-8");}}}
%>
<form action="TestCookieServlet">
1.JSP表达式:<br>
<input type="text" value="<%=city %>" ><br><br>
2.EL语句:<br>
<input type="text" value="${cookie.city.value }"><br><br>
3.jQuery:<br>
<input type="text" id="city"><br><br>
<input type="submit" value="获取Cookie" ><br>
</form>
</body>
</html>
TestCookieServlet.java
package com.cookie.test;import java.io.IOException;
import java.net.URLEncoder;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;@WebServlet("/TestCookieServlet")
public class TestCookieServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//使用URLEncoder.encode()编码,因为cookie不能存储中文,否则有中文会报错String city = URLEncoder.encode("北京_BJ", "utf-8");//创建CookieCookie cookie = new Cookie("city", city);//设置Cookie的最大生命周期,否则浏览器关闭后Cookie即失效cookie.setMaxAge(Integer.MAX_VALUE);//将Cookie加到response中response.addCookie(cookie);//重定向到jsp页面response.sendRedirect("testCookie.jsp");}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);}
}
获取cookie的3种方式相关推荐
- 快速获取cookie的两种方式
方式一:通过浏览器控制台 在需要获取Cookie的谷歌浏览器界面,按Ctrl+Shift+j打开js控制台. 输入 console.log(document.cookie) 回车打印Cookies 方 ...
- 获取cookie的几种方式
在爬虫中cookie是非常有用的,可以解决反爬,封号等问题.接下来我们来说说获取cookie的集中方式. 这里采用python2.7,本来我都是用python3.6的,来了公司之后,公司适用版本2.7 ...
- 利用requests库获取cookie的两种方式
第一种: from fake_useragent import UserAgent import requestsdef get_Cookies0():ua = UserAgent().ie #随机获 ...
- aes key长度_原创 | 浅谈Shiro反序列化获取Key的几种方式
点击"关注"了解更多信息 关于Apache Shiro反序列化 在shiro≤1.2.4版本,默认使⽤了CookieRememberMeManager,由于AES使用的key泄露, ...
- Spring Boot当中获取request的三种方式
本篇博客主要记录request相关知识,也是开发当中经常遇到的,感兴趣的跟小编一起学习吧! 目录 一.请求过程 二.获取request的三种方式 2.1.可以封装为静态方法 2.2.controlle ...
- SpringBoot静态获取 bean的三种方式,你学会了吗?
欢迎关注方志朋的博客,回复"666"获面试宝典 来源:blog.csdn.net/showchi/article/details/97005720 注意:调用者要被spring管理 ...
- Spring读取配置文件,获取bean的几种方式
Spring读取配置文件,获取bean的几种方式 方法一:在初始化时保存ApplicationContext对象 代码: ApplicationContext ac = new FileSystemX ...
- Spring Boot 获取 Bean 的 3 种方式!还有谁不会?
作者 | chilx 来源 | https://blog.csdn.net/showchi/article/details/97005720 注意:调用者要被spring管理 方式一 注解@PostC ...
- android获取自定义属性,android 自定义控件中获取属性的三种方式(转)
第一种方法,直接设置属性值,通过attrs.getAttributeResourceValue拿到这个属性值. (1)在xml文件中设置属性值 android:layout_width="f ...
最新文章
- 刚刚,Python 3.10 正式发布了,我发现了一个可怕的功能..
- java 8位随机数_JAVA中生成指定位数随机数的方法总结
- access中判断回文的代码_LeetCode 第九题 回文数
- Boost:align对齐的测试程序
- .net remoting 与webservice
- 查询一个ID出现2种结果的情况
- 实时帧数手机_ROG游戏手机评测:小老弟让我教教你什么叫电竞
- Spark初步 从wordcount开始
- python dataframe 合并乱序列表_Python数据处理--删除重复项、数值替换和表合并
- 802.11相关术语及其设计(二)
- 12.sql语句增删改查快速回顾
- 关于前几周项目进行的一些感受
- 1500页,40万字,阿里淘系技术2020技术年货来了!
- Linux 内核经典面试题
- 软考系统集成项目管理工程师重要知识点
- idc机房安装服务器系统,IDC机房运维之(硬件篇)
- 夏天想美美的出门?店湾妹的“明星穿搭教科书”,很美有木有?
- 合肥工业大学 OnlineJudge——1003 B-黑石部落
- QT将10进制转换为2进制与16进制
- Apple 公司开发者账号注册
热门文章
- python中deepcopy_如何在Python中“覆盖”deepcopy?
- Z-BlogPHP资源站源码整站打包/带会员中心积分签到功能
- 云顶之弈游戏9.16护卫骑士恶魔流阵容游戏策略[多地图]
- qq农场,数据抓包分析,实现源码,图片讲解
- Ccf跳一跳java,CCF跳一跳Java(201803CCF第1题)
- 正则表达式完美匹配a链接
- Win32汇编--如何使用资源 [菜单和加速键]
- 2011年第七届“博创杯”全国大学生嵌入式设计大赛大赛命题
- finalshell下载、安装、连接Linux系统教程(官网)
- 中国股市最笨的赚钱方法:轻松在股市赚钱!