开发者社区> 问答> 正文

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

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

<div>  
错误堆栈信息:<br/>  
<c:forEach var="trace" items="${pageContext.exception.stackTrace}">  
<p>${trace}</p>  
</c:forEach>  
</div>

我在action故意制造了一个空指针异常 在tomcat中自动进入到了500.jsp并显示错误信息如下: Java代码 收藏代码

错误堆栈信息:  
com.cmcc.foura.login.action.LoginAction.registUser(LoginAction.java:68)    
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)    
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)    
......

但是在websphere6.1中错误信息变成了这样: Java代码 收藏代码 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)    
.....

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

展开
收起
长安归故里. 2020-01-08 15:56:03 1108 0
1 条回答
写回答
取消 提交回答
  • 改为不用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 %>

    2020-01-08 15:56:31
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Apache Tomcat 的云原生演进 立即下载
开源广进,用service cataloq构造k8s服务能力中心 立即下载
低代码开发师(初级)实战教程 立即下载

相关实验场景

更多