在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}设置为我工作区中的文件夹),但日志不提供有关“NullPointerException”的任何详细信息。日志中唯一存在的是......
0:0:0:0:0:0:0:1 - - [03/May/2012:15:19:16 +0530] "GET /KurniawanChap02Struts/ HTTP/1.1" 500 1789
我也尝试过增加“日志级别”,但即便如此也无济于事。 如何访问服务器的详细日志?
答案 0 :(得分:0)
当我使用不同版本的Apache Commons时,我遇到了类似的错误。为了获得有关这些错误的更多详细信息,我将Tomcat的默认loggind更改为log4j。您可以在Apache Tomcat 7 (7.0.27) - Logging in Tomcat
中查看详细说明这是我正在使用的log4j
的xml示例:
<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>
我希望这可以帮助你。
答案 1 :(得分:0)
我遇到了同样的问题。我删除了 properties-&gt; Java Build Path-&gt; Projects 中引用的未使用项目。它显示缺少xyz(项目名称)。 我删除了xyz。
有时您可以检查属性 - > Java Build Path-&gt;库是否缺少任何jar。如果是这样,您可以从类路径中添加该jar。