WebSphere Liberty全局错误页面

时间:2014-08-20 14:57:38

标签: java websphere-liberty

我在WebSphere Liberty Profile中运行我的应用程序。我的应用程序的URL如下:

http://myhostname:1234/Foo

当用户请求任何未知页面时,我可以自定义war的web.xml中的错误页面。

http://myhostname:1234/Foo/whatever_page

但是我无法在用户输入我的Foo上下文根之前自定义404错误,例如。

http://myhostname:1234/whatever_here

我见过一些教程建议在Http Web Server中执行此操作,但不幸的是,这对我来说不是一个选项。此外,由于某种原因,我无法将root上下文(myhostname:1234 /)用于我的应用程序。

请告知我如何才能使用应用程序服务器实现此目的。

1 个答案:

答案 0 :(得分:0)

我不确定您是否打算做什么,因为您声明的限制是可能的。上下文根是该特定应用程序的入口点,因此您无法在web.xml中指定任何内容,因为它已封装在应用程序中。

我只是看着当你对一个坏的上下文根执行HTTP GET请求时自由返回的响应有效负载,我的猜测是它返回在Java文件中某处生成的html,这让我相信这不会是可以覆盖的。

您最简单的选择可能是您在原帖中所说的两个。

编辑:

看来tomcat具有您所寻求的功能:

http://davidghedini.blogspot.com/2010/10/tomcat-custom-404-page.html

我尝试了一下,如果你输入了一个糟糕的上下文根,它就可以了。 Tomcat有一个ROOT文件夹,因为它以这种方式实现,它能够处理你想要覆盖的案例。如果你想在自由上做这个,你可以使用/作为上下文根来制作另一个.war并在那里处理你的404,因为这是apache所做的(基本上模仿tomcat的ROOT文件夹中的内容)。唯一的区别是tomcat似乎为你提供了“开箱即用”的ROOT,而在自由中,你需要自己生成它。