jsp:include 中的 response.sendRedirect() 被忽略?

2023-11-21

我有一个 jsp 文件,其中包含另一个 jsp 文件来检查一些值,例如:

<jsp:include page="setup.jsp" />

在 setup.jsp 中,我有一些条件代码,用于确定会话中是否设置了一些所需的值,如果没有,则将它们重定向到不同的页面。或者至少应该如此,但重定向似乎被忽略了。

System.err.println("Redirecting!");
response.sendRedirect("http://www.google.com");
return;

我看到“重定向!”登录到控制台,但页面继续并正常呈现。我让curl 为我转储了标头,并看到响应是HTTP/1.1 200 OK所以它肯定不会发送 302 重定向。

知道问题是什么以及如何解决这个问题吗?

编辑:我已确认我的回复尚未提交。response.isCommitted()回报false意味着状态代码和标头尚未发送。

编辑2:我尝试过打电话response.sendRedirect()在许多其他地方,发现我可以在 . JSP 内的重定向似乎被忽略,如果我尝试在 jsp 之后立即重定向,则会收到非法状态异常,因为响应已提交。


The <jsp:include>在幕后使用RequestDispatcher#include()。单击该链接可查看 javadoc。这是相关性的摘录(强调我的):

...

ServletResponse 对象的路径元素和参数与调用者的保持不变。包含的 Servlet 无法更改响应状态代码或设置标头;任何进行更改的尝试都会被忽略。

...

The HttpServletResponse#sendRedirect()基本上将 HTTP 响应状态设置为302和 HTTPLocation标头到目标 URL。因此,它完全被忽视了。

更深层次的问题是您滥用 JSP 作为页面控制器/过滤器。你实际上应该使用正常的servlet or filter这个类的运行远远早于 JSP。

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

jsp:include 中的 response.sendRedirect() 被忽略? 的相关文章

  • 如何将画廊意图中的“打开”更改为“完成”?

    我使用以下意图打开画廊来选择多个图像和视频 Intent intent new Intent intent setType image video intent putExtra Intent EXTRA ALLOW MULTIPLE tr
  • Java:在 eclipse 中导出到 .jar 文件

    我正在尝试将 Eclipse 中的程序导出到 jar 文件 在我的项目中 我添加了一些图片和 PDF s 当我导出到 jar 文件时 似乎只有main已编译并导出 我的意愿是如果可能的话将所有内容导出到 jar 文件 因为这样我想将其转换为
  • html 表格单元格的条件格式

    是否有现成的解决方案可以对 HTML 表格进行条件格式设置 通过条件格式 我更感兴趣的是根据该列或其他列 在同一个表中 的值 数字 将不同的颜色作为单元格背景 类似于我们在 Excel 条件格式 gt 色阶 gt 红黄绿中的内容 我想在通过
  • GWT - 如何组织项目以拥有多个网页以及它们之间的导航

    我是 GET 的新手 顺便说一句 它给我留下了深刻的印象 并且发现它对于像我这样熟悉 C NET 桌面技术并愿意编写 Web 应用程序的人来说非常有吸引力 我根据 GWT Eclipse 向导生成的示例启动了自己的项目 该项目生成带有面板的
  • Spring Data JPA 选择不同

    我有一个情况 我需要建立一个select distinct a address from Person a 其中地址是 Person 内的地址实体 类型的查询 我正在使用规范动态构建我的 where 子句并使用findAll Specifi
  • 在 Wildfly 中与 war 部署共享 util jar 文件

    假设我有一个名为 util jar 的 jar 文件 该 jar 文件主要包含 JPA 实体和一些 util 类 无 EJB 如何使这个 jar 可用于 Wildfly 中部署的所有 war 无需将 jar 放置在 war 的 WEB IN
  • 是否可以使用 Flying Saucer (XHTML-Renderer) 将 css 解析为类路径资源?

    我正在尝试将资源打包到 jar 中 但我无法让 Flying Saucer 在类路径上找到 css 我无法轻松构建 URL 来无缝解决此问题 https stackoverflow com questions 861500 url to l
  • ConcurrentHashMap 内部是如何工作的?

    我正在阅读有关 Java 并发性的 Oracle 官方文档 我想知道Collection由返回 public static
  • Jackson XML ArrayList 输出具有两个包装器元素

    我在 Jackson 生成的 XML 输出中得到了两个包装器元素 我只想拥有一个 我有一个 Java bean Entity Table name CITIES JacksonXmlRootElement localName City pu
  • 如何检测 Java 字符串中的 unicode 字符?

    假设我有一个包含 的字符串 我如何找到所有这些 un icode 字符 我应该测试他们的代码吗 我该怎么做呢 例如 给定字符串 A X 我想将其转换为 AYXY 我想对其他 unicode 字符做同样的事情 并且我不想将它们存储在某种翻译映
  • 内部存储的安全性如何?

    我需要的 对于 Android 我需要永久保存数据 但也能够编辑 并且显然是读取 它 用户不应访问此数据 它可以包含诸如高分之类的内容 用户不得对其进行编辑 我的问题 我会 并且已经 使用过Internal Storage 但我不确定它实际
  • GWT 2.3 开发模式 - 托管模式 JSP 编译似乎不使用 java 1.5 兼容性

    无法编译 JSP 类 生成的 servlet 错误 DefaultMessage 上次更新 0 日期 中 0 时间 HH mm ss z 语法 错误 注释仅在源级别为 1 5 时可用 在尝试以开发模式在 Web 浏览器中打开我的 gwt 模
  • 使用 Mockito 模拟某些方法,但不模拟其他方法

    有没有办法使用 Mockito 模拟类中的某些方法 而不模拟其他方法 例如 在这个 诚然是人为的 Stock我想嘲笑的班级getPrice and getQuantity 返回值 如下面的测试片段所示 但我想要getValue 执行乘法 如
  • “无法实例化活动”错误

    我的一个 Android 应用程序拥有大约 100 000 个用户 每周大约 10 次 我会通过 Google 的市场工具向我报告以下异常情况 java lang RuntimeException Unable to instantiate
  • Java Swing:需要一个高质量的带有复选框的开发 JTree

    我一直在寻找一个 Tree 实现 其中包含复选框 其中 当您选择一个节点时 树中的所有后继节点都会被自动选择 当您取消选择一个节点时 树中其所有后继节点都会自动取消选择 当已经选择了父节点 并且从其后继之一中删除了选择时 节点颜色将发生变化
  • Hamcrest Matchers - 断言列表类型

    问题 我目前正在尝试使用 Hamcrest Matchers 来断言返回的列表类型是特定类型 例如 假设我的服务调用返回以下列表 List
  • 使用按钮作为列表的渲染器

    我想使用一个更复杂的渲染器 其中包含列表的多个组件 更准确地说 类似于this https stackoverflow com questions 10840498 java swing 1 6 textinput like firefox
  • 如何使用play框架上传多个文件?

    我在用play framework 2 1 2 使用java我正在创建视图来上传多个文件 我的代码在这里 form action routes upload up enctype gt multipart form data
  • 配置“DataSource”以使用 SSL/TLS 加密连接到 Digital Ocean 上的托管 Postgres 服务器

    我正在尝试托管数据库服务 https www digitalocean com products managed databases on 数字海洋网 https en wikipedia org wiki DigitalOcean 创建了
  • 在浏览器刷新中刷新检票面板

    我正在开发一个付费角色系统 一旦用户刷新浏览器 我就需要刷新该页面中可用的统计信息 统计信息应该从数据库中获取并显示 但现在它不能正常工作 因为在页面刷新中 java代码不会被调用 而是使用以前的数据加载缓存的页面 我尝试添加以下代码来修复

随机推荐

  • 如何在gcc中编译带有头文件的C程序?

    我想在 gcc 中编译一个 C 程序 它有我的 2 个头文件 我正在使用命令 gcc UDP Receive c o UDP Receive lm 编译它 但出现错误 指出 UDP Data h 没有这样的文件或目录 我如何告诉编译器包含这
  • Angular 4 Selected 在模型中给出时无法正常工作?

    当我试图提供下拉菜单时 默认情况下 我需要选择一个需要显示的值 当我不使用 ngModel 时 我可以显示默认值 没有 ngModel
  • 如何在机器人之父中为电报机器人创建菜单?

    I m new in telegram bot and see this bot that but when type start show menu to me and with out type slash to command jus
  • apache httpclient 4.3 没有超时

    我在使用以下代码使 Apache HttpClient 4 3 post 请求超时时遇到问题 RequestConfig requestConfig RequestConfig custom setConnectionRequestTime
  • Doctrine 查询语言获取每组的最大/最新行

    我正在尝试将相对简单的 SQL 语句转换为可在 Doctrine 中运行的语句 但失败了 这是 SQL 语句 它在针对我的数据库运行时按要求工作 SELECT a FROM score a INNER JOIN SELECT name MA
  • 搜索排序矩阵的最有效方法?

    我有一项任务是编写一个算法 不是用任何特定语言 只是伪代码 该算法接收一个矩阵 大小 M x N 该矩阵的排序方式是所有行都已排序 所有列都已排序单独排序 并在该矩阵中找到某个值 我需要编写我能想到的最省时的算法 矩阵看起来像 1 3 5
  • 如何深度克隆iframe?

    有没有办法深度克隆iframe 基本的 jQuery 克隆只是使用相同的 src 创建另一个 iframe 我想要实现的是一种克隆 iframe 的方法 它是准确的当前内容 即任何可能的输入值 通过 javascript 进行的任何 DOM
  • jquery:如何选择没有被 html 标签包围的文本?

    Beer br Vodka br rum br whiskey 如何选择啤酒 还是朗姆酒 在 jquery 中 它们没有被任何 html 标签包围 如果您的意思是要直接选择文本节点 建议不要使用 jQuery 需要澄清的是 获取一组包装的文
  • 我应该将 ASP.NET MVC 控制器操作设为虚拟吗?

    文件 gt ASP NET MVC 项目的新项目 用于生成具有虚拟操作的控制器 我不确定 MVC 2 或 MVC 3 是否会停止这种情况 但这不再是最佳实践吗 T4MVC确实使动作方法变得虚拟 如果您正在使用它 它应该使操作方法变得虚拟 没
  • Python selenium - 修改网页的源代码

    我正在使用 Python selenium 来自动输入我的出勤信息 一切正常 现在我想通过修改源代码来尝试 我看到很少有帖子指出可以使用它进行修改driver execute script 它适用于 JavaScript 但就我而言 我需要
  • 在没有安装 rgdal 的情况下解压并读取 R 中的形状文件

    我想在 R 中解压并读取来自网络的形状文件 而不依赖于 rgdal 我找到了read shp的功能fastshp软件包显然可以在环境中安装 rgdal 的情况下完成此操作 但是 我在实施时遇到了麻烦 我想要一个可以解压缩然后读取形状文件的函
  • 使用 Firebug 检查弹出/下拉菜单样式的技巧是什么?

    有没有办法在使用 Firebug 检查时使弹出菜单 粘住 你可以用 Chrome 来做 但我更喜欢 firebug 当您看不到正在设置样式的元素时 很难设置填充或边距 我做了一些研究但无法弄清楚 有一个内置选项 检查 隐藏 的元素 然后使用
  • 使用构建器模式时“借用的价值不够长”

    我有以下代码 pub struct Canvas lt a gt width isize height isize color Color surface Surface texture Texture renderer a Rendere
  • 更改方法内的引用类型(字符串)

    我将一个字符串变量传递给一个方法 我知道字符串是引用类型 但我在方法内分配的值丢失了 public static void TestMethod string myString myString world static void Main
  • 删除 Swift 3 中的最后一个字符

    我正在创建一个简单的计算器应用程序 目前正在努力在点击按钮时删除最后一个字符 我正在使用dropLast 方法 但我不断收到错误 调用中参数 1 缺少参数 IBAction func onDelPressed button UIButton
  • 正则表达式进入无限循环

    我正在解析以下形式的 物种 名称 Parus Ater H sapiens T rex Tyr rex 通常有两项 二项式 但有时有 3 项或更多项 Troglodytes troglodytes troglodytes E rubecul
  • 来自一系列图像的python 16位灰度视频

    我有一个 uint16 类型的灰度图像数据集 我想将其保存为视频文件 输出应该是 uint16 类型的无损视频文件 我尝试了这个代码 video cv2 VideoWriter file name 0 fps w h isColor Fal
  • “错误时转到 0”和“错误时转到 -1”之间的区别 -- VBA

    谁能找到 VBA 中 On error goto 1 和 on error goto 0 之间的区别吗 我尝试过 google 和 msdn 但没有成功 On Error GoTo 0禁用过程中当前存在的任何错误捕获 On Error Go
  • ASP.NET MVC - Model.OrderBy Date 没有效果

    我在按日期对结果进行排序时遇到一些困难 有什么特别的方法吗 因为我现在正在这样做 var db new DB var articles db Articles var orderedArticles articles OrderBy a g
  • jsp:include 中的 response.sendRedirect() 被忽略?

    我有一个 jsp 文件 其中包含另一个 jsp 文件来检查一些值 例如