当前位置:网站首页>会话技术!
会话技术!
2022-08-03 01:38:00 【陈毓辰】
会话技术
实现会话跟踪技术方式:
- 客户端会话跟踪技术:Cookie
- 服务端会话跟踪技术:Session
两者之间的区别:
cookie是存储在浏览器中的
session是存储在服务器中的
对于cookie的操作主要分为两大类,分别是发送cookie和获取cookie
- 发送cookie
- 创建cookie对象并设置数据
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
边栏推荐
猜你喜欢
随机推荐
常用工具链和虚拟环境-Cygwin
initramfs详解----设备文件系统
无法启动服务 错误 193 0xc1
ssh(sshd)安全配置
为什么要使用 playwright 做浏览器自动化测试?
【深度学习】基于tensorflow的小型物体识别训练(数据集:CIFAR-10)
Introduction to agile development
易购数码类电商商城网页设计与实现项目源码
公司代码学习笔记
如何准备考pmp?
MATLAB绘制填充图(X轴上下两种颜色)
Greenplum数据库故障分析——can not listen port
List转Map的几种方式
The Sandbox 市场平台将上线 Isla Obscura 第五期 NFT 作品集
暴力递归到动态规划 06 (剑指 Offer II 095. 最长公共子序列)
超级复杂可贴图布局的初级智能文本提示器
Violence recursion to dynamic programming 08 (pony go chess)
全栈---Proxy
华为防火墙双机热备技术:HRP、VGMP、VRRP,三大技术值得一学!
一个循环,两个循环问题的思考及复现