当前位置:网站首页>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
边栏推荐
猜你喜欢

粘包与拆包

嵌入式开发:嵌入式基础——’ ’和” ”的区别

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

数据中台建设(八):数据服务体系建设

DJI内推码(2022年8月2日更新)

新库上线 | CnOpenDataA股上市公司董监高信息数据

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

YYGH-BUG-06

FLIR E95 在8层楼看马路上行驶的CAR的热成像形态?

一个循环,两个循环问题的思考及复现
随机推荐
numpy PIL tensor之间的相互转换
Wireshark data capture and analysis of the transport layer protocol (TCP protocol)
可信的SSL证书颁发机构有哪些
提高测试覆盖率的四大步骤
担心的事情
面试题整理1
Violent recursion to dynamic programming 06 (the sword refers to Offer II 095. Longest common subsequence)
增删改查这么多年,最后栽在MySQL的架构设计上!
国标GB28181协议EasyGBS平台项目现场通知消息过多导致系统卡顿该如何解决?
apache-activemq-5.14.1
10-security登录
【社媒营销】Facebook速推帖子如何运作?值得吗?
企业云成本管控,你真的做对了吗?
自定义RunTimeException工具类
浅谈敏捷开发
Greenplum database failure analysis, can not listen to the port
openCV第二篇
Guidelines for the use of SVA in UVM
公司封装方式导出excel过程
使用VSCode中遇到的问题及解决办法