servlet 不将会话属性转发给 jsp

2023-12-01

使用嵌入式 tomcat,此代码有效:

Servlet:

String test = "test";
request.setAttribute("test", test);
request.getRequestDispatcher("/index.jsp").forward(request, response);

JSP:

<%= request.getAttribute("test") %>

它设置属性test然后在servlet上打印出来/example的jsp页面example.jsp.


但是,如果我尝试在会话中设置属性,那么我不会得到相同的结果,而是得到一个null当使用这个时:

Servlet:

String test = "test";
request.getSession().setAttribute("test", test);
request.getRequestDispatcher("/index.jsp").forward(request, response);

JSP:

<%= session.getAttribute("test") %>

JSP方面就不用说了request.getSession(), just session.getAttribute();
在创建 servlet 上下文时,您的 Main.java 中遇到了问题(使用嵌入式 Tomcat 的技巧);您没有通过将 web 应用程序添加到 tomcat 来创建上下文,您还有其他一些上下文。

//          File base = new File("src/main/webapp");
//          context = tomcat.addContext("", base.getAbsolutePath());
//          tomcat.addWebapp(null, "/", base.getAbsolutePath());

        context = tomcat.addWebapp("/", new File("src/main/webapp").getAbsolutePath());
        context.setSessionTimeout(10080);

我注释掉了您的代码并更改了上下文处理,现在一切正常了。并捕获一个新的异常。

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

servlet 不将会话属性转发给 jsp 的相关文章

随机推荐

  • 从表中获取 blob 图像并使用 php sqlite3 显示它

    我知道这个问题已经被问过很多次了 但我无法使用其中任何一个来解决这个问题 我是 sqlite 的新手 无法理解我做错了什么 我正在尝试什么 我正在尝试制作个人资料查看页面 我可以从我的 sqlite 数据库中获取所有详细信息 但无法显示我的
  • 在 Windows 命令行中获取接口名称、IP 和 MAC

    我想获取机器上所有接口 IP 和 MAC 地址的列表 我有很多机器 大约 600 台 可以获取此信息 但我无法在设备上使用批处理文件 我想发送命令并返回回显的输出 我需要的所有信息都在ipconfig all但我不知道如何用 for 循环来
  • 模拟 Java 枚举以添加值来测试失败情况

    我有一个enum或多或少像这样切换 public static enum MyEnum A B public int foo MyEnum value switch value case A return calculateSomethin
  • C# - 不同类型对象的列表

    我想创建一个列表 其中包含游戏中生成的所有不同单位的所有对象 但它们并不都是同一类 如果有帮助的话 它们都是主单元类的子类 但基本上我有一个具有基本功能的主要单位类 然后有更多的剑士 长枪兵等 我希望能够将所有不同的类型放在一个列表中 以便
  • 在同一(匿名)表中使用表键

    我想在同一个表中的匿名表中使用密钥 如下所示 loadstring return a One b a two 从我的角度来看 这should返回下表 a One b One two 然而 它只是返回nil 这可以做到吗 如何做到 As th
  • iOS PhotoKit:获取除全景之外的所有智能相册

    我使用以下代码来获取所有智能相册 PHAssetCollection fetchAssetCollections with PHAssetCollectionType smartAlbum subtype PHAssetCollection
  • Windows 是否缓存 SSH 密钥?

    我最近发布了一个有关 Git Bash 的问题 引用了旧的 GitHub 帐户用户名 请参阅此处的帖子 原帖 现在我完全确信 Windows 正在以某种方式存储我的 ssh 信息并将其用于我的 Git bash 会话 当我尝试推送到远程仓库
  • 在同一终端中执行“stty raw”命令?

    我正在尝试将控制台置于 Java 中的 原始 模式 我知道这只适用于 UNIX 我正在使用命令stty raw 如果我直接在终端中输入命令 它就会执行它应该执行的操作 在Java中 我尝试这样设置模式 Runtime getRuntime
  • 如何使关键字在 Qt::4.6 (C++) 中立即无延迟地工作?

    操作系统 win xp sp3 Qt 4 6 我有一个游戏板类 其中有一些矩形 我为该矩形定义了 keyPressEvent 以便在屏幕上移动他 Key A 矩形 moveToLeft 和 Key D 矩形 moveToRight 问题是按
  • 向量化 numpy 数组扩展

    我正在尝试找到一种方法来向量化一个操作 其中我采用 1 个 numpy 数组并将每个元素扩展为 4 个新点 我目前正在使用 Python 循环进行此操作 首先让我解释一下算法 input array numpy array 1 2 3 4
  • “按键%+”是什么意思?

    这段代码是什么意思 keys 我在一些源代码中看到了它 但我不知道要阅读哪些 Perl 文档才能了解它的含义 每当你看到一个看起来很漂亮的变量时 就在其中查找它perldoc perlvar 在这种情况下 是存储与最后一个正则表达式的命名捕
  • Python-docx设置文本方向RTL

    我正在尝试创建一个具有 RTL 从右到左 文本方向的文档 def printExam get the exam questions rows db db exam questions exam request vars exam selec
  • 改变图像尺寸后,图像的透明部分变成黑色

    我正在尝试根据我的视图更改图像大小 因此我为此编写了这段代码 UIImage imageWithImage UIImage image scaledToSize CGSize newSize Create a bitmap context
  • 删除Matlab中的四个嵌套循环

    我在 Matlab 中有以下四个嵌套循环 timesteps 5 inputsize 10 additionalinputsize 3 outputsize 7 input randn timesteps inputsize additio
  • 如何以编程方式在 Qt 中获取网络管理器设备名称?

    有没有可能在Windows中使用Qt C 获取网络适配器设备名称 网络适配器描述 我使用 QNetworkInterface 但它仅返回适配器名称 我想知道哪个适配器是基于 USB 的以太网 QNetworkInterface interf
  • 自动展开 Eclipse 插件 jar

    我的 Eclipse 插件需要作为平面目录展开执行 它使用 JNI 并且 JNI 部分需要访问插件提供的一些文件 如果作为 jar 安装 是否可以将插件配置为自动展开 或者我唯一的选择是要求用户将其内容解压缩到 Eclipse dropin
  • 使用“keras.utils.Sequence”作为输入时,不支持“y”参数。错误

    import pandas as pd from sklearn preprocessing import MinMaxScaler import os from tensorflow keras preprocessing image i
  • java中字符串xml节点内的转义xml字符

    我有一个 XML 数据字符串 我需要转义节点内的值 而不是节点本身 Ex
  • JPA / Hibernate Cascade.Remove @ManyToOne 的用例

    具有以下内容 User class ManyToOne cascade CascadeType REMOVE JoinColumn name INSTITUTION ID public void setInstitution final I
  • servlet 不将会话属性转发给 jsp

    使用嵌入式 tomcat 此代码有效 Servlet String test test request setAttribute test test request getRequestDispatcher index jsp forwar