小弟刚开始学servlet就碰了钉子。
我只是要求一个简单的sevlet get请求,该servlet返回一句Welcome to servlet的页面就可以了。可是搞了2天还是一下这个错误。实在没办法了,希望知道的朋友给指条明路,先谢了。错误页面显示如下:
HTTP Status 500 - 
--------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: Wrapper cannot find servlet class com.sesi.servlets.welcomeServlet or a class it depends on
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)(略)一下是我的web.xml:<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app 。>  <display-name>Tomcat Documentation</display-name>
  <description>
     Tomcat Documentation.
  </description>
  
  <!-- Servlet definition -->  
  <servlet>
   <servlet-name>welcome</servlet-name>
   <description> a simple servlet </description>
   <servlet-class>com.sesi.servlets.welcomeServlet</servlet-class>
  </servlet>
  
  <!-- Servlet mapping --> 
  <servlet-mapping>
   <servlet-name>welcome</servlet-name>
   <url-pattern>/welcome</url-pattern>
  </servlet-mapping> 
  
</web-app>我的sever.xml:(只列修改部分)      <!-- Define the default virtual host
           Note: XML Schema validation will not work with Xerces 2.2.
       -->
      <Host name="localhost" appBase="C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
       
       <!-- This is my site myapp-->
       <Context path="/MyApp" docBase="C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\MyApp"
       debug="0" reloadable="true" crossContext="true">
       </Context>
       <!-- site setup end -->我的servlet java文件(welcomeServlet.java):package com.sesi.servlets;import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;public class welcomeServlet extends HttpServlet
{
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
response.setContentType( "text/html" );
PrintWriter out = response.getWriter();

out.println( "<html>" );

out.println( "<head>" );
out.println( "<title>A Simple Servlet Example</title>" );
out.println( "</head>" );

out.println( "<body>" );
out.println( "<h1>Welcome to servlet</h1>" );
out.println( "</body>" );

out.println( "</html>" );
out.close();
}
}

解决方案 »

  1.   

    补充一下,java文件编译通过了。
      

  2.   

    在web.xml中servlet-name注册错了,明明是叫welcomeServlet,为何写成servlet
      

  3.   

    web.xml中:
    <servlet> 
        <servlet-name> welcomeServlet</servlet-name> 
        <description>   a   simple   servlet   </description> 
        <servlet-class> com.sesi.servlets.welcomeServlet </servlet-class> 
        </servlet> 
        
        <!--   Servlet   mapping   -->   
        <servlet-mapping> 
        <servlet-name> welcomeServlet</servlet-name> 
        <url-pattern> /welcomeServlet</url-pattern> 
        </servlet-mapping>   
      

  4.   

    1.原来的配置没有问题的,servlet-name的值不一定要和类名一致的.但是好像你的类tomcat没有找到,你是不是将些类放在了WEB-INF/classes下了,如果没有放在这里,有没有打成jar放在了WEB-INF/lib下了,或者让tomcat能找到的地方(例如:catalina.properties里).2.还有一点,就是尽量不要将appBase、docBase放在诸如:'C:\Program   Files\Apache   Software   Foundation\Tomcat   5.5'此类带空格的目录下
      

  5.   

    太感谢了,问题解决了。我的WEB-INF/classes 写成class了。虽然很郁闷,还是很感激的。谢谢了