当前位置:网站首页>Conversational Technology!
Conversational Technology!
2022-08-03 03:02:00 【Chen Yuchen】
会话技术
Implementing session tracking technology:
- 客户端会话跟踪技术:Cookie
- 服务端会话跟踪技术:Session
两者之间的区别:
cookie是存储在浏览器中的
sessionis stored on the server
对于cookieThe operations are mainly divided into two categories,respectively sendcookie和获取cookie
- 发送cookie
- 创建cookieobject and set the data
Cookie cookie = new Cookie(“key”,“value”);
- 发送cookie到客户端:使用response对象
javax.servlet javax.servlet-api 3.1.0 provided javax.servlet.jsp jsp-api 2.2 provided jstl jstl 1.2 taglibs standard 1.1.2 org.apache.tomcat.maven tomcat7-maven-plugin 2.2response.addCookie(cookie)
案例:
(1)创建Maven项目cookie-demo,并在pom.xml添加依赖
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
(2)编写Servlet类,名称为AServlet
@WebServlet(“/aServlet”)
public class AServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request, response);
}
}
(3)在Servlet中创建Cookie对象,存入数据,发送给前端
@WebServlet(“/aServlet”)
public class AServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//发送Cookie
//1. 创建Cookie对象
Cookie cookie = new Cookie(“username”,“zs”);
//2. 发送Cookie,response
response.addCookie(cookie);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request, response);
}
}
4)启动测试,在浏览器查看Cookie对象中的值
访问http://localhost:8080/cookie-demo/aServlet
chrome浏览器查看Cookie的值
选中打开开发者工具或者 使用快捷键F12 或者 Ctrl+Shift+I
- 获取Cookie
- 获取客户端携带的所有Cookie,使用request对象
Cookie[] cookies = request.getCookies();
- 遍历数组,获取每一个Cookie对象:for
- 使用Cookie对象方法获取数据
cookie.getName();
cookie.getValue();
在BServlet中使用request对象获取Cookie数组,遍历数组,从数据中获取指定名称对应的值
@WebServlet("/bServlet")
public class BServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取Cookie
//1. 获取Cookie数组
Cookie[] cookies = request.getCookies();
//2. 遍历数组
for (Cookie cookie : cookies) {
//3. 获取数据
String name = cookie.getName();
if("username".equals(name)){
String value = cookie.getValue();
System.out.println(name+":"+value);
break;
}
}
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request, response);
}
}
启动测试,在控制台打印出获取的值
访问`http://localhost:8080/cookie-demo/bServlet
边栏推荐
猜你喜欢

2022-08-02:小红拿到了一个大立方体,该大立方体由1*1*1的小方块拼成,初始每个小方块都是白色。 小红可以每次选择一个小方块染成红色, 每次小红可能选择同一个小方块重复染色, 每次染色以后,

【Flink】使用arthas在线诊断flink的那些事

Brute force recursion to dynamic programming 07 (516. Longest palindrome subsequence)

一个循环,两个循环问题的思考及复现

SAP ABAP Gateway Client 里 OData 测试的 PUT, PATCH, MERGE 请求有什么区别

Rust Web(三)—— 通过sqlx连接数据库(MySQL)

apache-activemq-5.14.1

线上交流丨稀疏神经网络:实践和理论(青源Talk第23期 汪张扬)

mysql容器数据卷持久化

怎么从零编写一个 v3 版本的 chrome 浏览器插件实现 CSDN 博客网站的暗黑和明亮主题切换?
随机推荐
【面经】被虐了之后,我翻烂了equals源码,总结如下
开发JSP应用的基础知识
11-security认证.md
The cornerstone of high concurrency: multithreading, daemon threading, thread safety, thread synchronization, mutual exclusion lock, all in one article!...
ssh(sshd)安全配置
12-security退出.md
mysql容器数据卷持久化
The Sandbox 市场平台将上线 Isla Obscura 第五期 NFT 作品集
吴恩达深度学习deeplearning.ai——第一门课:神经网络与深度学习——第二节:神经网络基础(上)
一个循环,两个循环问题的思考及复现
10-security登录
【社媒营销】Facebook速推帖子如何运作?值得吗?
优秀的 Verilog/FPGA开源项目总结及交流群
Introduction to agile development
7-Redis工具类
20、商品微服务-web层实现
2022-08-02:小红拿到了一个大立方体,该大立方体由1*1*1的小方块拼成,初始每个小方块都是白色。 小红可以每次选择一个小方块染成红色, 每次小红可能选择同一个小方块重复染色, 每次染色以后,
扩展卡尔曼滤波【转】
粘包与拆包
ES6 新特性:Class 的基本语法