我写了个最简单的helloworld:
package brick0906;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class ServletText extends HttpServlet{

public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException{
PrintWriter out=response.getWriter();
out.println("hello world");
}
}就是这样,然后我把那class文件放到F:\jakarta-tomcat-5.0.28\webapps\ROOT\WEB-INF\classes里面,然后又修改了web.xml:
<servlet>
<servlet-name>ServletText</servlet-name>
<servlet-class>ServletText</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletText</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>在我输入http://localhost:8888/servlet/ServletText的时候就出现了500的错误,显示如下:
java.lang.NoClassDefFoundError: ServletText (wrong name: brick0906/ServletText)我在网上查了好长的时间也找不出的所以然来,请个位帮帮忙解决一下!

解决方案 »

  1.   

    因为你的servlet的包名是package brick0906所以,你部署的servlet的路径应该是\jakarta-tomcat-5.0.28\webapps\ROOT\WEB-INF\classes\brick0906,
    再就是,你的<url-pattern>/servlet/*</url-pattern>
    应该改成<url-pattern>/servlet/ServletText</url-pattern>
      

  2.   

    楼上的,是应该把servlet-class改成有包名的吧
      

  3.   

    搞定了,楼上说的不对啊!<servlet-class>brick0906.ServletText</servlet-class>
    这样成功了!!