我在项目的WEB-INF\classes\org\servlet目录里写了个Servlet,然后在根目录里写了个新闻添加页,form提交到那个Servlet里,可是执行时总出错!错误代码是:exception javax.servlet.ServletException: Error allocating a servlet instance
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(Thread.java:595)
root cause java.lang.NoClassDefFoundError: org/servlet/DOaddnews (wrong name: DOaddnews)
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:620)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1880)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:889)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1353)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1232)
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(Thread.java:595)我的xml是这么配置的,好像问题就出在这里,大侠帮忙看看,应该怎么改一下!
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
xmlns="http://java.sun.com/xml/ns/j2ee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
 <servlet>
    <servlet-name>input</servlet-name>
    <servlet-class>org.servlet.DOaddnews</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>input</servlet-name>
    <url-pattern>/input</url-pattern>
  </servlet-mapping>
</web-app>

解决方案 »

  1.   

    <web-app version="2.4" >
    少一个括号吧
      

  2.   

    <servlet>
        <servlet-name>input </servlet-name>
        <servlet-class>org.servlet.DOaddnews </servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>input </servlet-name>
        <url-pattern>/input </url-pattern>
      </servlet-mapping> 
    org.servlet.DOaddnews应该是package 名称 
      

  3.   

    <servlet-class>org.servlet.DOaddnews </servlet-class>
    好像是那里出错了,你可以复制路径名,再删除.java。
    我以前出过这个错,不知道,你是不是这个错。
      

  4.   

    对了,那个Servlet是不是应该建在包里面啊,你为什么要建在WEB-INF\classes\org\servlet目录里呢?
    我没有这样写过唉……
      

  5.   

    我的.class文件放在了WEB-INF\classes\org\servlet这里,java文件不在这里!呵呵
      

  6.   

    类为什么要建在WEB——INF 中呢。。不是在src 吗。。
      

  7.   

    改一下<serlvet-name>input</servlet-name>  input这个名字改一下试一下,这Exception 以前没有遇到过。还真不清楚
      

  8.   

    WEB——INF 里放的是.class文件,不都是放这里吗!src里放的是.java文件啊
      

  9.   

    Servlet要在src里面,否则无法执行
      

  10.   

      <servlet-class>org.servlet.DOaddnews </servlet-class> 
    比如我在项目写了一个servlet(BookServlet)。放在com.bookstore.action这个包下面。那web.xml中应该这样配置
     <servlet-class>com.bookstore.action.BookServlet</servlet-class> 
    不是放的这个servlet编译后.class文件.