7

我的设置:Apache 2.2 + Tomcat 6.0 @ Windows 2008 R2 64bit

  • 静态网页:/
  • 小服务程序:/foo
  • tomcat 和 apache 通过 mod_jk 连接
  • 404.jsp 放在tomcat\webapps\ROOT

Tomcat\conf\web.xml:

<error-page>
 <error-code>404</error-code>
 <location>/404.jsp</location>
</error-page>

apache\conf\extra\httpd-ssl.conf:

JkMount /foo/* worker1
JkMount /404.jsp worker1

当我打开https://...../404.jsp时,会显示我的自定义错误页面。但是当我打开https://...../foo/nonexisting.html时,会显示一个空页面。

如果我<error-page>...</error-page>从 web.xml 中删除代码并打开https://...../foo/nonexisting.html然后将显示 tomcats own 404。

有什么提示吗?

4

7 回答 7

2

Jkmount 应该将上下文作为参数,例如:

JkMount /mycontext/* worker1

然后以这种方式访问​​页面:

https://mycontext/someservlet/

或者

https://mycontext/foo/nonexisting.html 
于 2012-11-28T21:20:32.167 回答
1

据我所见,webapps 的错误无法通过放置在 ROOT 中的错误页面来处理。我现在将 404.jsp 放在每个 webapp 中(/foo/404.jsp,/bar/404.jsp,...),现在它可以工作了。我可以安全地删除 ROOT 中的 404.jsp,但如果我删除 /foo 或 /bar 中的 404.jsp,如果任一 webapp 中出现 404,则会提供空白页面。要么 tomcat 忽略“位置”元素中的前导 /,要么此元素的内容附加在“调用”webapp 的路径中。

于 2011-01-17T13:50:16.633 回答
0

我在运行静态 Web 项目时遇到了这个问题。我已经完成了以下实现,它对我有用。

在 %CATALINA_HOME%/conf/web.xml 中添加了以下行

    <error-page> 
    <error-code>404</error-code>
    <location>/error_404.html</location>
    </error-page>
于 2014-04-28T12:32:30.497 回答
0

如果它在加载 404.jsp 时工作正常,并且当 tomcat 实际尝试使用该页面处理 404 错误时显示空白页面,则可能意味着 404.jsp 的源代码中存在仅通过使用 errorData 触发的错误目的。

检查日志。我遇到了类似的空白页问题,结果发现我的taglib URL 不正确

编辑

此外,JkMount 应该不是必需的,因为 tomcat 已经在生成这些 404(即它们不在 Apache 的权限范围内)。

于 2011-01-14T23:44:12.103 回答
0

我也遇到了这个问题,原来罪魁祸首是我在错误页面位置输入了应用程序上下文根的名称。那是,

<error-page>
 <error-code>404</error-code>
 <location>/MyApp/404.jsp</location>
</error-page>

而它当然应该是

<error-page>
 <error-code>404</error-code>
 <location>/404.jsp</location>
</error-page>
于 2011-01-20T15:22:37.550 回答
0

注意:您需要确保您指定的页面不以数字开头(即:404.jsp)。这是因为,根据 Java 语法,您不能以数字开头的类名。

http://www.jguru.com/faq/view.jsp?EID=492774

希望有帮助:-)

于 2011-01-07T11:13:04.943 回答
-1

它显示的正是 404 页面未找到或其他?因为其他一些错误代码也可用,例如 400,401,403,500。看看这个 http://docs.yahoo.com/docs/writeus/error.html的链接

如果您还有其他任何错误代码,请在 web.xml 文件中添加该错误代码。希望这会有所帮助。快乐的编码...

于 2010-12-02T07:11:07.340 回答