当前位置: 首页 > wzjs >正文

慈溪建设集团网站百度竞价推广计划

慈溪建设集团网站,百度竞价推广计划,设计一个个人网站的基本步骤,装修房子的步骤流程Java-servlet(九)前端会话,会话管理与Cookie和HttpSession全解析 前言一、什么是会话二、会话管理1. 隐藏的表单域2. 网址重写3. 使用 Cookie3.1 Cookie 的工作流程3.2 Java 中的方法,Cookie 类 三、Cookie 的实现1. 创建 Cookie2…

Java-servlet(九)前端会话,会话管理与Cookie和HttpSession全解析

  • 前言
    • 一、什么是会话
    • 二、会话管理
      • 1. 隐藏的表单域
      • 2. 网址重写
      • 3. 使用 Cookie
        • 3.1 Cookie 的工作流程
        • 3.2 Java 中的方法,Cookie 类
    • 三、Cookie 的实现
      • 1. 创建 Cookie
      • 2. 添加 Cookie
      • 3. 读取 Cookie
    • 四、实现 HttpSession
    • 五、处理错误
      • 1. 发送错误
      • 2. 自定义错误页面


前言

  • 在 Web 开发中,会话管理是实现用户状态跟踪的核心技术
  • 想象一个场景:用户登录网站后添加商品到购物车,切换页面时购物车数据需要保持;用户退出后,系统需清除其相关状态。
  • 这些需求都依赖会话管理技术实现
  • 本文将从会话基本概念入手,逐步解析四种主流会话管理方案隐藏表单域、URL 重写、Cookie 和 HttpSession,通过对比分析帮助你选择最合适的技术方案

我的个人主页,欢迎来阅读我的其他文章
https://blog.csdn.net/2402_83322742?spm=1011.2415.3001.5343
我的Java-servlet文章专栏
欢迎来阅读指出不足
https://blog.csdn.net/2402_83322742/category_12907265.html?spm=1001.2014.3001.5482


在这里插入图片描述

一、什么是会话

会话是指在一段时间内,用户与应用程序之间的交互过程

  • 在 Web 应用中,会话可以理解为用户从打开浏览器访问网站开始,到关闭浏览器结束的整个过程

以购物车为例,当用户在电商网站上挑选商品并添加到购物车时,这个过程就涉及到会话管理。网站需要识别是哪个用户在操作购物车,并且在用户的整个购物过程中保存购物车中的商品信息,直到用户完成购物或者关闭浏览器

二、会话管理

会话管理的目的是在多个请求之间跟踪用户的状态。下面介绍几种将 useridservlet2 传到 servlet3 的方法:

1. 隐藏的表单域

  • 隐藏的表单域是一种在 HTML 表单中使用隐藏字段来传递数据的方法
  • 这些字段在页面上不可见,但它们的值会随着表单一起提交到服务器
<!DOCTYPE html>
<html>
<head><title>Hidden Form Field Example</title>
</head>
<body><form action="servlet3" method="post"><input type="hidden" name="userid" value="123"><input type="submit" value="Submit"></form>
</body>
</html>

在这个例子中,userid 被隐藏在表单中,当用户点击提交按钮时,userid 的值会被发送到 servlet3

  • 优点:简单易用,不需要额外的配置。
  • 缺点:只能用于表单提交,并且数据会暴露在 HTML 源代码中,安全性较低。
  • 使用场景:当需要在表单提交时传递少量数据,且对数据安全性要求不高时可以使用。

2. 网址重写

网址重写是指在 URL 后面附加参数来传递数据。

// 在 servlet2 中
response.sendRedirect("servlet3?userid=123");

在这个例子中,userid 作为参数附加在 servlet3 的 URL 后面,当用户访问这个 URL 时,userid 的值会被传递到 servlet3

  • 优点:简单直接,不需要额外的配置
  • 缺点:数据会暴露在 URL 中,安全性较低,并且 URL 的长度有限制
  • 使用场景:当需要在页面跳转时传递少量数据,且对数据安全性要求不高时可以使用

3. 使用 Cookie

在这里插入图片描述

Cookie 是由应用程序服务器存储在客户端浏览器的小文件,用于追踪所有用户

3.1 Cookie 的工作流程
  1. 服务器在响应头中设置 Set-Cookie 字段,将 Cookie 信息发送给客户端浏览器。
  2. 客户端浏览器接收到响应后,会将 Cookie 信息存储在本地。
  3. 当客户端浏览器再次向服务器发送请求时,会在请求头中包含 Cookie 字段,将存储的 Cookie 信息发送给服务器。
  4. 服务器接收到请求后,会从请求头中读取 Cookie 信息,从而识别用户。
3.2 Java 中的方法,Cookie 类

在 Java 中,可以使用 javax.servlet.http.Cookie 类来创建、管理和读取 Cookie。

三、Cookie 的实现

在这里插入图片描述

1. 创建 Cookie

// 在 servlet2 中
Cookie userIdCookie = new Cookie("userid", "123");

2. 添加 Cookie

// 在 servlet2 中
response.addCookie(userIdCookie);

3. 读取 Cookie

// 在 servlet3 中
Cookie[] cookies = request.getCookies();
if (cookies != null) {for (Cookie cookie : cookies) {if ("userid".equals(cookie.getName())) {String userId = cookie.getValue();// 使用 userId 进行后续操作}}
}
  • 优点:可以在多个页面之间共享数据,并且可以设置 Cookie 的有效期和作用域
  • 缺点:数据会存储在客户端浏览器中,安全性较低,并且 Cookie 的大小有限制
  • 使用场景:当需要在多个页面之间共享少量数据,且对数据安全性要求不高时可以使用

四、实现 HttpSession

HttpSession 是 Java Servlet 提供的一种会话管理机制,它允许在多个请求之间跟踪用户的状态。

// 在 servlet2 中
HttpSession session = request.getSession();
session.setAttribute("userid", "123");// 在 servlet3 中
HttpSession session = request.getSession(false);
if (session != null) {String userId = (String) session.getAttribute("userid");// 使用 userId 进行后续操作
}
  • 优点:数据存储在服务器端,安全性较高,并且可以存储任意类型的数据。
  • 缺点:需要占用服务器的内存资源,并且在分布式环境中需要进行额外的配置。
  • 使用场景:当需要在多个请求之间跟踪用户的状态,并且对数据安全性要求较高时可以使用。

五、处理错误

1. 发送错误

在 Servlet 中,可以使用 response.sendError 方法发送错误信息。

response.sendError(HttpServletResponse.SC_NOT_FOUND, "Page not found");

2. 自定义错误页面

可以在 web.xml 中配置自定义错误页面。

<error-page><error-code>404</error-code><location>/404.jsp</location>
</error-page>
<error-page><error-code>500</error-code><location>/500.jsp</location>
</error-page>

当发生 404 或 500 错误时,会自动跳转到相应的错误页面。

综上所述,会话管理技术有隐藏的表单域、网址重写、使用 Cookie 和 HttpSession 等。每种技术都有其优缺点和适用场景,在实际开发中需要根据具体需求选择合适的会话管理技术。

会话管理技术作用优点缺点使用场景
隐藏的表单域在表单提交时传递数据,如将 useridservlet2 传到 servlet3简单易用,无需额外配置只能用于表单提交,数据暴露在 HTML 源代码中,安全性低表单提交时传递少量数据,对安全性要求不高
网址重写在页面跳转时传递数据,如在 URL 后附加 userid 传递到 servlet3简单直接,无需额外配置数据暴露在 URL 中,安全性低,URL 长度有限制页面跳转时传递少量数据,对安全性要求不高
使用 Cookie在多个页面间共享数据,服务器可通过 Cookie 追踪用户可在多页面共享数据,能设置有效期和作用域数据存于客户端,安全性低,Cookie 大小有限制多页面间共享少量数据,对安全性要求不高
HttpSession在多个请求间跟踪用户状态,可存储任意类型数据数据存于服务器端,安全性高占用服务器内存资源,分布式环境需额外配置多个请求间跟踪用户状态,对安全性要求较高

以上就是这篇博客的全部内容,下一篇我们将继续探索 Java-servlet 的更多精彩内容。

我的个人主页,欢迎来阅读我的其他文章
https://blog.csdn.net/2402_83322742?spm=1011.2415.3001.5343
我的Java-servlet文章专栏
欢迎来阅读指出不足
https://blog.csdn.net/2402_83322742/category_12907265.html?spm=1001.2014.3001.5482

非常感谢您的阅读,喜欢的话记得三连哦

在这里插入图片描述

http://www.dtcms.com/wzjs/552182.html

相关文章:

  • 淘宝网站建设特点洛阳网站建设制作多少钱
  • 网站正在建设中 英文wordpress分页分类导航插件
  • 网上招聘网站开发报告濮阳市网站怎么做宣传
  • 网站优化报价图片编辑器在线网页版
  • 海门市住房和城乡建设局网站网站添加字体
  • 甘肃省建设厅官方网站张睿企业网站做电脑营销
  • 农业公园网站建设网页设计教程答案
  • 微信游戏网站源码怎么做九龙坡区网站建设
  • 做同款的网站进度插件 wordpress
  • 古风网站建设模板网站建设域名多少钱
  • 内江网站制作百度推广业务员电话
  • 宿州网站建设开发公司上海娱乐场所关门
  • 如何做网站站内搜索代码连云港公司网站优化服务
  • 亚洲成成品网站有线高德地图不显示菲律宾
  • 建站行业发展前景什么语言网站比较安全
  • 朝阳专业网站建设公司整套网站模板
  • 网站备案流程详解wordpress本地图片不显示图片
  • 成都专业网站制作企业信用信息查询公示系统天津
  • 装修公司做宣传在哪个网站公司网站赏析
  • 怎么搞免费的网站上海网站制作福州
  • 网站后台程序下载烟台网站推广广州公司
  • 西安谁家的集团门户网站建设比较好阜宁县网站建设
  • 织梦如何做淘宝客网站南江县建设局网站
  • wordpress 站群软件wordpress建站教程视频教程
  • 青岛网站建设网站制作免费设计自己的名字
  • 做外贸要做什么网站如何做企业网站及费用问题
  • 网站建设柒金手指花总15有经验的坪山网站建设
  • 零基础网站建设教学深圳专业网站建设多少钱
  • 学校网站开发必要性与意义注册安全工程师报考时间2023
  • 品牌网站建设平台百度首页百度