【问题标题】:Override 302 response in WebLogic覆盖 WebLogic 中的 302 响应
【发布时间】:2009-12-11 13:20:21
【问题描述】:

当我在 WebLogic 上部署的 J2EE Web 应用程序中执行重定向时,它会向客户端发送以下响应:

HTTP/1.1 302 Moved Temporarily
Cache-Control: no-cache="set-cookie"
Date: Sat, 12 Dec 2009 07:37:43 GMT
Transfer-Encoding: chunked
Location: http://server:port/front/page
Set-Cookie: JSESSIONID=CDdjLjLHSLlGxzzBT7dmLCw7JFZyBTxp95gJyxSL8GLS2gpNGKpb!1582307085; path=/
X-Powered-By: Servlet/2.4 JSP/2.0

01d7
<html><head><title>302 Moved Temporarily</title></head>
<body bgcolor="#FFFFFF">
<p>This document you requested has moved temporarily.</p>
<p>It's now at <a href="http://server:port/front/page">http://server:port/front/page</a>.</p>
</body></html>

0000

有没有办法覆盖该 HTML?

【问题讨论】:

  • 您是否正在从 HTTPs 重定向到 HTTP?我从来没有见过这个页面。那是什么版本的 weblogic?
  • Weblogic 9.2。它是 HTTP 重定向。我使用 Fiddler 获取原始 HTTP 请求/响应,并且 302 响应包含该 HTML。
  • 您的评论帮助很大,用它来更新您的问题会非常好。但是,仍然不清楚:确切预期的 URL ([protocol]://[ip]:[port]/) 是什么?
  • 预期的 URL 是 /front/page。

标签: java web-applications servlets weblogic


【解决方案1】:

您可以使用应用程序的 web.xml 来覆盖它,例如:

<error-page>
    <error-code>302</error-code>
    <location>/error302.jsp</location>
</error-page>

编辑: 错误页面可能以:

开头
<%@ page language="java" isErrorPage="true" %>
<%@ taglib uri="/WEB-INF/fmt.tld" prefix="fmt" %>
<%@ taglib uri="/WEB-INF/c.tld" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
...

问候。

【讨论】:

  • 你有这种JSP的例子吗?这将正确插入重定向的 URL?
  • @Pascal - 为什么不呢?诚然,它通常不会显示在典型的网络浏览器中。但是 HTTP 还有其他用例!
  • @Atorras,但是您如何获得 302 响应重定向到的 URL?
  • HttpServletResponse 对象有一个 sendRedirect() 方法,您可以使用它来重定向请求(在 error302.jsp 内或某些控制器内)。示例:response.sendRedirect("correctLocation.jsp")
  • 这没什么大不了的,因为它将递归地访问同一页面:)。
【解决方案2】:

我最初的问题与 302 响应中的绝对 URL 有关。我发现绝对 URL 是由HTTP specification 决定的。尽管大多数浏览器都允许相对 URL,但这并不是一个可靠的解决方案。这意味着覆盖 302 响应不会在所有可能的情况下给我想要的结果。我宁愿使用 Pascal 提出的解决方案,或者为 URL 重写引擎做 Apache 额外的配置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    • 2013-12-10
    相关资源
    最近更新 更多