to :amortal
  如你所说,我在webapps 下建一servlets目录,然后把HelloWorld.class文件拷贝到该目录
通过下面url:http://zlp:8080/examples/HelloWorld 访问时,还是不行
(jsp程序运行正常)

解决方案 »

  1.   

    放到WEB-INF\servlet下,然后配你的web.xml给你看别人的一个帖子:web.xml的配置修改  
    如上所说组成Web应用程序的Servlet,还包含初始化参数。在Tomcat中,也可以将放在Web-INF/classes中的Servlet直接以servlet/Servlet名访问,但是一般来说,不推荐这样使用。而且这样的使用方法还会导致Servlet的相关资源组织的复杂性。所以一般来说推荐将所有的Servlet在这里定义出来。在tomcat中定义Servlet的方法与JBuidler中稍有不同,以我们的报表应用程序为例,配置如下:  
    <servlet>  
           <servlet-name>jsp</servlet-name>  
           <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>  
           <init-param>  
               <param-name>logVerbosityLevel</param-name>  
               <param-value>WARNING</param-value>  
           </init-param>  
           <load-on-startup>3</load-on-startup>  
       </servlet>  
     
    <servlet>  
           <servlet-name>pubparam</servlet-name>  
           <servlet-class>servlet.pubparam</servlet-class>  
       </servlet>  
         
    <servlet>  
           <servlet-name>DoTask</servlet-name>  
           <servlet-class>servlet.DoTask</servlet-class>  
       </servlet>  
         
    <servlet>  
           <servlet-name>Actpubparam</servlet-name>  
           <servlet-class>servlet.Actpubparam</servlet-class>  
       </servlet>  
     
       <servlet>  
           <servlet-name>RptSave</servlet-name>  
           <servlet-class>servlet.RptSave</servlet-class>  
       </servlet>  
         
       <servlet>  
           <servlet-name>historyDel</servlet-name>  
           <servlet-class>servlet.historyRpt</servlet-class>  
       </servlet>  
     
       <servlet>  
           <servlet-name>ReportViewControl</servlet-name>  
           <servlet-class>servlet.ReportViewControl</servlet-class>  
       </servlet>  
     
       <servlet>  
           <servlet-name>ReportTemplateControl</servlet-name>  
           <servlet-class>servlet.ReportTemplateControl</servlet-class>  
       </servlet>  
     
       <servlet>  
           <servlet-name>DoShare</servlet-name>  
           <servlet-class>servlet.DoShare</servlet-class>  
       </servlet>  
       
     <servlet>  
           <servlet-name>DoTmp</servlet-name>  
           <servlet-class>servlet.DoTmp</servlet-class>  
       </servlet>  
     
     <servlet>  
           <servlet-name>TmpUpLoad</servlet-name>  
           <servlet-class>servlet.TmpUpLoad</servlet-class>  
       </servlet>  
     
     <servlet>  
           <servlet-name>Authority</servlet-name>  
           <servlet-class>servlet.Authority</servlet-class>  
       </servlet>  
     
     <servlet>  
           <servlet-name>calendar</servlet-name>  
           <servlet-class>servlet.calendar</servlet-class>  
       </servlet>  
     
     <servlet>  
           <servlet-name>svt_DownloadToExcel</servlet-name>  
           <servlet-class>servlet.svt_DownloadToExcel</servlet-class>  
       </servlet>  
    <!--  ================  Built  In  Servlet  Mappings  =========================  -->  
     
     
       <!--  The  servlet  mappings  for  the  built  in  servlets  defined  above.    Note    -->  
       <!--  that,  by  default,  the  CGI  and  SSI  servlets  are  *not*  mapped.    You        -->  
       <!--  must  uncomment  these  mappings  (or  add  them  to  your  application's  own  -->  
       <!--  web.xml  deployment  descriptor)  to  enable  these  services                            -->  
       <!--  The  mapping  for  the  default  servlet  -->  
    <servlet-mapping>  
           <servlet-name>pubparam</servlet-name>  
           <url-pattern>/pubparam</url-pattern>  
       </servlet-mapping>  
     
       <servlet-mapping>  
           <servlet-name>DoTask</servlet-name>  
           <url-pattern>/DoTask</url-pattern>  
       </servlet-mapping>  
     
       <servlet-mapping>  
           <servlet-name>Actpubparam</servlet-name>  
           <url-pattern>/Actpubparam</url-pattern>  
       </servlet-mapping>  
     
       <servlet-mapping>  
           <servlet-name>RptSave</servlet-name>  
           <url-pattern>/RptSave</url-pattern>  
       </servlet-mapping>  
     
       <servlet-mapping>  
           <servlet-name>historyDel</servlet-name>  
           <url-pattern>/historyDel</url-pattern>  
       </servlet-mapping>  
     
       <servlet-mapping>  
           <servlet-name>ReportViewControl</servlet-name>  
           <url-pattern>/ReportViewControl</url-pattern>  
       </servlet-mapping>  
     
           <servlet-mapping>  
           <servlet-name>ReportTemplateControl</servlet-name>  
           <url-pattern>/ReportTemplateControl</url-pattern>  
       </servlet-mapping>  
     
       <servlet-mapping>  
           <servlet-name>DoShare</servlet-name>  
           <url-pattern>/DoShare</url-pattern>  
       </servlet-mapping>  
     
       <servlet-mapping>  
           <servlet-name>DoTmp</servlet-name>  
           <url-pattern>/DoTmp</url-pattern>  
       </servlet-mapping>  
     
       <servlet-mapping>  
           <servlet-name>TmpUpLoad</servlet-name>  
           <url-pattern>/TmpUpLoad</url-pattern>  
       </servlet-mapping>  
     
       <servlet-mapping>  
           <servlet-name>Authority</servlet-name>  
           <url-pattern>/Authority</url-pattern>  
       </servlet-mapping>  
     
           <servlet-mapping>  
           <servlet-name>calendar</servlet-name>  
           <url-pattern>/Calendar</url-pattern>  
       </servlet-mapping>  
     
           <servlet-mapping>  
           <servlet-name>svt_DownloadToExcel</servlet-name>  
           <url-pattern>/DownloadToExcel</url-pattern>  
       </servlet-mapping>  
    注意上面的代码中蓝色部分的为报表程序所需要的servlet的配置信息。其中<servlet>部分描述的是servlet的名称和对应的包名。<servlet-mapping>部分描述的是servlet的名称和对应的物理目录名。在tomcat中这两部分不能写在一起,必须所有的servlet元素写在一起,所有的Servlet-mapping写在一起。这一点非常重要。
      

  2.   

    假如你的web application目录是c:\webapp的话,就一定要把servelet.class文件放在c:\webapp\WEB-INF\classes目录下,不要放在文件夹里(当然,有包的定义除外)。然后就象楼上那位说的那样配置web.xml就一定行了。
    <servlet>  
           <servlet-name>helloworld</servlet-name>  
           <servlet-class>helloworld</servlet-class>  
       </servlet>  
    <servlet-mapping>  
           <servlet-name>helloworld</servlet-name>  
           <url-pattern>/helloworld</url-pattern>  
       </servlet-mapping>  另外,你要确保你的TOMTAT_HOME\conf\server.xml配置正确。
    那就一定没问题。