当前位置:网站首页>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
边栏推荐
- Violence recursion to dynamic programming 08 (pony go chess)
- 使用VSCode中遇到的问题及解决办法
- 国标GB28181协议EasyGBS平台项目现场通知消息过多导致系统卡顿该如何解决?
- Rust Web(三)—— 通过sqlx连接数据库(MySQL)
- SAP ABAP OData 服务如何支持修改(Update)操作试读版
- pytest:如何调用 pytest
- MATLAB绘制填充图(X轴上下两种颜色)
- [Example构造方法增加notNull参数,默认false,允许值为null,值为null的时候不加入到条件中
- JSP第一篇 -----JSP九大内置对象(隐式对象)和四大域对象
- torchvision.datasets.ImageFolder使用详解
猜你喜欢

PyCharm中常用的快捷键用法详解

扩展卡尔曼滤波【转】

10. SAP ABAP OData 服务如何支持修改(Update)操作

The cornerstone of high concurrency: multithreading, daemon threading, thread safety, thread synchronization, mutual exclusion lock, all in one article!...

容联云发送验证码

孩子坐不住就是不专注?猿辅导揭秘专注力的三大误区

【Swoole系列3.3】单进程管理Process

提高测试覆盖率的四大步骤

EasyGBS播放器优化:设备通道视频播放出现跳屏问题的修复

2022-08-02:小红拿到了一个大立方体,该大立方体由1*1*1的小方块拼成,初始每个小方块都是白色。 小红可以每次选择一个小方块染成红色, 每次小红可能选择同一个小方块重复染色, 每次染色以后,
随机推荐
DTD约束和Schema约束
initramfs详解----设备文件系统
自己做的选择
6-接口跨域处理
MySQL删库不跑路
The cornerstone of high concurrency: multithreading, daemon threading, thread safety, thread synchronization, mutual exclusion lock, all in one article!...
数据中台建设(八):数据服务体系建设
PHICOMM(斐讯)N1盒子 - Armbian5.77(Debian 9)配置自动连接WIFI无线网络
flask-socketio实现websocket通信
易购数码类电商商城网页设计与实现项目源码
浅谈敏捷开发
向往的生活
线上交流丨稀疏神经网络:实践和理论(青源Talk第23期 汪张扬)
WRF-Chem模式调试、运行、结果后处理等遇到的各种问题
236. The binary tree in recent common ancestor
能添加任意贴图超级复布局的初级智能文本提示器(超级版)
五大靠谱的婚恋相亲APP详细特点缺点分析!
VS Code 这么牛,再次印证了一句名言
为什么要使用 playwright 做浏览器自动化测试?
自定义RunTimeException工具类