JSPG0036E: Failed to find resource /xxx.jsp

环境说明:WAS 8.5.5 + IHS 8.5.5

在web.xml中已经配置了404自定义的页面,直接访问一个不存在的JSP时,是可以正常显示出此页面的。但是,当调用一个Servlet后,forward到一个不存在的JSP时,

就会显示类似于”JSPG0036E: Failed to find resource /xxx.jsp”这样的错误消息。花了好多时间来分析此问题,但google不到任何有用的信息(或许是自己搜的keyword有问题)。

下图是异常的页面(其中客户的代码被隐藏掉了):

.

 

在实在搜不到资料的情况下,开始反编译WAS中相关的JAR文件,结果还真有发现:

 

此处有一个开关,控制”找不到JSP文件”时,是显示JSP的错误报告,还是抛出文件找不到(404)的异常。此开关的定义如下:

 

关于此开关的定义可以查看链接:http://www-01.ibm.com/support/knowledgecenter/api/content/SS7JFU_7.0.0/com.ibm.websphere.express.doc/info/exp/ae/rweb_custom_props.html#PK57843.doc

 

只要在App Server -> Web Continer中增加自定义属性即可正常显示404页面了。