在控制器内创建会话 cookie

2023-12-30

我是 Tomcat、servlet 和 Spring Web 的新手。我有 PHP 背景,所以至少可以说我有点迷失方向。我想要一个控制器为我创建一个会话 cookie。

有人告诉我,我可以在标准 servlet 中获得这样的会话:

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
  // Somewhere inside the method...
  HttpSession session = request.getSession(true);

  // Set a cookie
      session.setAttribute("hello", "world");

  // More stuff...
}

这如何转化为 Spring Web MVC 的做事方式?我可以在控制器内创建会话cookie吗?


您在示例中所做的事情与 cookie 无关。 session.setAttribute("key", valueObject); 在会话中设置一个 java 对象。会话保存在服务器上。 sessionid 是唯一返回给客户端的内容。它可以是 cookie,也可以位于 URL 中。会话中的属性未序列化为字符串。

另一方面,Cookie 是发送回客户端的字符串。客户有责任存储他们的 cookie(有些人将其关闭)并将其返回到服务器。

从复杂的对象图中设置 cookie 值需要序列化和反序列化。会话属性不会。

如果你想读取 cookie,请使用以下命令:

@CookieValue("key") String cookie

在控制器参数列表中。 cookie 变量将使用名为“key”的 cookie 中的值进行填充。

要设置 cookie,请调用:

response.addCookie(cookie);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在控制器内创建会话 cookie 的相关文章

随机推荐

  • 异步编程 APM 与 EAP

    实际上有什么区别异步编程模型 and 基于事件的异步模式 使用哪种方法以及何时使用 The 异步编程模型 APM 是您看到的模型BeginMethod and EndMethod pairs 例如这里是一个Socket使用APM执行 var
  • 如果 Moose 构建器方法失败该怎么办?

    处理构建器方法中的失败的最佳方法是什么 例如 package MyObj use Moose use IO File has gt file name is gt ro isa gt Str required gt 1 has gt fil
  • 使用时间窗口的标签回填缺失数据

    我想根据时间 1天 2天 用不同的标签回填每一列 这是代码 from datetime import datetime timedelta import pandas as pd import numpy as np import rand
  • NSToolbar的标签区域可以画图吗?

    我有一个NSToolbarItem它使用类似于 Xcode 状态视图的视图 它目前没有标签 但我无法找到一种方法来绘制通常绘制项目标签的区域 我希望该视图能够像 Xcode 状态视图一样扩展到该区域 我知道像素的最底部部分NSToolbar
  • 将列表转储到 pickle 文件中并稍后检索[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试保存字符串列表 以便以后可以访问它 使用pickle如何实现呢 一个说明性的例子可能会有所帮助 Pickling 将序列化您的列
  • 使用 Fold 依赖多个先前值来计算线性递归的结果

    I have a linear recurrence problem where the next element relies on more than just the prior value e g the Fibonacci seq
  • 我应该在创建通知之前调用 WakeLock 吗?

    我正在向 Android 应用程序添加通知 目前只有模拟器可供测试 收到通知时 将调用 GCMBaseIntentService 子类 GCMIntentService 中的 onMessage 方法 从这里我创建一个要显示的通知 如果我将
  • Kubernetes集群出站流量IP

    我在 Google Kubernetes Engine 上有一个 Kubernetes 集群 我想为集群的所有传出流量分配一个静态 IP 我已经保留了外部 IP 但无法使用 GCP 控制台将它们分配给集群 我找到了一个使用 cli 执行此操
  • 数据读取器检索数据

    我的数据库中有会员资格和预订表 其中包含属性 cust id 它是会员资格中的主键和预订中的参考键 当我执行数据读取器时 我希望它从会员表中读取 cust id 值 但它是从预订表中读取的 另外 当我比较两个 cust id 值时 1 个取
  • 通过 PayPal iOS SDK 进行 PayPal 实时交易的问题

    我正在为 iPad 开发 iOS 应用程序 版本 7 x 我们需要通过应用程序执行 PayPal 交易 我们包含了 PayPal iOS SDK 并参考他们的示例代码来执行交易 示例代码放置在here https github com pa
  • AWS Lambda 和 .NET Core - 使用 Linux 运行时?

    我正在用 C NET Core 编写 Alexa 技能 以便从 AWS Lambda 函数 在 Amazon Linux 上运行 运行 当我编译项目时 点网发布 我收到错误 找不到框架 NETCoreApp Version v1 0 的运行
  • 需要一点数学帮助来调整图像大小

    我有一个具有 X 宽度和 Y 高度值的图像 现在我想将高度设置为 60px 通过哪种计算我可以计算出图像正确调整大小的高度 我认为你正在努力保持纵横比 如果是这样 请使用以下命令 比率 原始高度 新高度 新宽度 原始宽度 比例
  • 在 Python (Pycharm) 中导入 numpy,安装了 Anaconda

    我对 python 很陌生 我正在尝试编写代码来导出一阶 ODE 因此 我需要某些软件包 例如 numpy 来执行此操作并安装了 Anaconda 当我尝试在 PyCharm 中使用 import numpy 命令时 它不起作用 我收到 M
  • 对产品列表进行分类的算法?拿2

    我问了一个类似的问题 https stackoverflow com questions 695347 algorithm to classify a list of products几周前就问过这个问题 但我没有正确地提出这个问题 所以我
  • 无法将 R 数据帧转换为 Spark DataFrame

    当我尝试使用以下方法将 R 中的本地数据帧转换为 Spark DataFrame 时 raw data lt as DataFrame sc raw data 我收到此错误 17 01 24 08 02 04 警告 RBackendHand
  • 如何禁用 OpenCV 相机中的缓冲区?

    我遇到过这种情况 我使用 OpenCV 来检测相机前面的人脸 并对这些人脸进行一些机器学习 我遇到的问题是 一旦我完成所有处理 并去抓取下一帧 我得到的是过去 而不是现在 意思是 我将读取缓冲区内的内容 而不是实际在相机前面的内容 由于我不
  • 在 C# 中克隆 VSTS 构建定义

    我正在使用 BuildHttpClient 的 GetDefinitionAsync 和 CreateDefinitionAsync 来克隆 VSTS 构建定义 这工作正常 但我想在项目的根文件夹之外的不同文件夹中创建构建定义 我可以通过
  • iOS 圆形渐变

    我的任务是用圆形渐变绘制线条 颜色应按圆圈变化 然后添加动画 现在我画了360层 有一定的间隔和不同的颜色 var colours UIColor UIColor var startAngle CGFloat 0 5 Double pi v
  • 无法从正文 onload 调用函数(未捕获的引用错误:未定义启动)javascript

    我有一个 body onload 调用 javascript 中的函数 我已经尝试了很多方法 但控制台只是打印到错误日志 未捕获的引用错误 未定义启动 我认为这可能是一个故障 如果它对您有用 请通知我 我的代码如下
  • 在控制器内创建会话 cookie

    我是 Tomcat servlet 和 Spring Web 的新手 我有 PHP 背景 所以至少可以说我有点迷失方向 我想要一个控制器为我创建一个会话 cookie 有人告诉我 我可以在标准 servlet 中获得这样的会话 protec