6

在 Eclipse 中执行一个小型应用程序时,我从通过 Eclipse 本身运行的 Tomcat 服务器收到 Http Status 500 错误...

HTTP Status 500 -   

--------------------------------------------------------------------------------  

type Exception report  

message   

description The server encountered an internal error () that prevented it from fulfilling this request.  

exception   

java.lang.NullPointerException  
    org.apache.struts2.impl.StrutsActionProxy.getErrorMessage   (StrutsActionProxy.java:69)  
    com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185)  
    org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)  
    org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)  
    com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)  
    org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:500)  
    org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:434)  


 note The full stack trace of the root cause is available in the Apache Tomcat/7.0.8 logs. 

来自服务器的这条消息说错误是由“NullPointerException”引起的。最后一行说“完整的堆栈跟踪在 Apache Tomcat/7.0.8 日志中可用。我检查了在我的工作区中创建的日志( ${catalina.base} 设置为我的工作区中的一个文件夹)但日志没有' t 提供有关“NullPointerException”的任何详细信息。日志中唯一存在的是...

0:0:0:0:0:0:0:1 - - [03/May/2012:15:19:16 +0530] "GET /KurniawanChap02Struts/ HTTP/1.1" 500 1789

我也尝试过提高“日志记录级别”,但即使这样也无济于事。我应该怎么做才能访问服务器的详细日志?

4

2 回答 2

0

当我使用不同版本的 Apache Commons 时,我遇到了一些类似的错误。为了获得有关这些错误的更多详细信息,我将 Tomcat 的默认 loggind 更改为log4j您可以在Apache Tomcat 7 (7.0.27) - Logging in Tomcat中查看详细说明

这是我正在使用的 xml 示例log4j

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
  <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d %-5p (%c.java:%L).%M - %m%n" />
    </layout>
  </appender>
  <!-- CATALINA -->
  <logger name="org.apache.catalina.session">
    <level value="INFO" />
  </logger>
  <!-- TOMCAT -->
  </logger>
  <logger name="org.apache.jasper.compiler">
     <level value="INFO" />
  </logger>
  <!-- COMMONS -->
  <logger name="org.apache.commons.digester">
     <level value="INFO" />
  </logger>
  <root>
    <priority value="TRACE" />
    <appender-ref ref="STDOUT" />
  </root>
</log4j:configuration>

我希望这可以帮助你。

于 2012-05-04T18:24:41.283 回答
-1

我有同样的问题。我删除了properties->Java Build Path->Projects中引用的未使用项目。它表明 xyz(project Name) 丢失。我删除了xyz。

有时您可以检查properties->Java Build Path->libraries是否缺少任何 jar。如果是这样,您可以从类路径中添加该 jar。

于 2012-11-12T11:44:07.600 回答