2010-06-10 61 views
1

我已经为servlet创建了一个动态网页。当我尝试运行该项目时出现以下错误:eclipse servlet问题

http starus 500 

javax.servlet.ServletException: Error instantiating servlet class ch.uzh.ifi.attempto.aceeditor.MyMainServlet 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873) 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) 
java.lang.Thread.run(Unknown Source) 

我该如何解决这个问题?

+1

显示一些代码可以帮助... – 2010-06-10 12:30:57

+0

不,代码只会浑浑噩噩。这是一个包装/部署问题。 – duffymo 2010-06-10 12:37:02

+0

这只是“ServletException”。在堆栈跟踪中没有**根本原因**?它应该更多地说明问题的原因。仔细观察跟踪,更新您的问题以包含**整个**跟踪。不,显示代码根本无济于事:) – BalusC 2010-06-10 12:40:57

回答

0

你能检查以下几点: servlet条目在web.xml中是否正确? (没有拼写错误,正确的包,...)

该servlet类是否在classpath中,与web.xml中给出的路径相同?

看起来像其中之一。

你在使用什么服务器?

+0

看起来像堆栈跟踪中的Tomcat。发布servlet代码将无济于事。这是一个部署问题。 – duffymo 2010-06-10 12:36:31

+0

@duffymo是的,这看起来像一个部署问题。想知道web.xml条目并验证servlet名称/包是完全一样的。这就是为什么要求servlet代码。也许应该直接询问。编辑。 – Nivas 2010-06-10 13:01:48

1

无法从堆栈跟踪告诉我们 - 可以是任何一些事情:

  1. Servlet的.class文件不存在
  2. Servlet的.class文件不正确的包目录结构
  3. Servlet .class文件不在WEB-INF/classes下
  4. Servlet在web.xml中未正确注册
  5. WAR文件不正确。
  6. WAR文件配置不正确。
  7. 用于调用servlet的URL不正确。

我建议从this开始,并仔细审查你所做的一步一步。

+0

希望它有帮助 - 看起来像他依赖于日食,所以它可能是一个与日食相关的配置问题太... – 2010-06-10 12:39:52

+0

同意 - 我认为这是一个坏主意,直到你可以手动部署没有Eclipse。 – duffymo 2010-06-10 13:49:57

0

我发现一个基本的测试servlet正在工作。 基本的servlet扩展了类HttpServlet。

我想运行的servlet扩展了WebContainerServlet类,所以我相信这是错误的来源。

现在我得到的错误是

javax.servlet.ServletException:错误分配Servlet实例 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) ... 做你需要我发布所有的堆栈跟踪?