在WebLogic中覆盖302响应

时间:2009-12-11 13:20:21

标签: java web-applications servlets weblogic

当我在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?

2 个答案:

答案 0 :(得分: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>
...

问候。

答案 1 :(得分:0)

我最初的问题与302响应中的绝对URL有关。我发现绝对URL由HTTP specification决定。即使大多数浏览器都容忍相对URL,但这仍然不是一个可靠的解决方案。这意味着在所有可能的情况下,覆盖302响应将无法获得所需的结果。我更愿意使用Pascal提出的解决方案,或者为URL重写引擎制作Apache附加配置。