部署到websphere6.1,自定义500页面输出的异常信息与tomcat不同?

环境是spring3.2.4,分别部署在tomcat6和websphere6.1
500.jsp,打印异常堆栈内容代码如下:
Java代码 收藏代码
[code="java"]

错误堆栈信息:

${trace}

[/code]
我在action故意制造了一个空指针异常
在tomcat中自动进入到了500.jsp并显示错误信息如下:
[code="java"]
错误堆栈信息:
com.cmcc.foura.login.action.LoginAction.registUser(LoginAction.java:68)

sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)

......

[/code]
但是在websphere6.1中错误信息变成了这样:
Java代码 收藏代码
[code="java"]
错误堆栈信息:

org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:948)

org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:838)

javax.servlet.http.HttpServlet.service(HttpServlet.java:763)

.....
[/code]

不知道为什么,请遇到过的朋友帮忙解答,谢谢了

1个回答

tomcat和websphere的jstl机制不一样,websphere使用的自己的jstl库,[url]http://stackoverflow.com/questions/7557713/jstl-el-function-error-on-websphere[/url]

yuechen323
yuechen323 谢了,哥们儿,改为不用jstl输出就可以了 <c:forEach var="trace" items="${pageContext.exception.stackTrace}"> <p>${trace}</p> </c:forEach> 改为 <% StackTraceElement[] els = exception.getStackTrace(); if(els != null && els.length > 0){ for(int i=0;i<els.length;i++){ out.println(els[i]); } } %> ${pageContext.exception} 改为 <%=exception %>
接近 7 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐