原因是tomcat的类需要有包名,即任何一个类必须在某个包下面,而resin没有这种约束或者是你的servlet映射有问题

解决方案 »

  1.   

    ???楼上两位的什么意思
    原因是tomcat的类需要有包名  ??我这是jsp页面的<form>servlet映射??怎么做??
    使用servlet.jar还是servlet-api.jar
      

  2.   

    察看web.xml文件,找到servlet的映射
      

  3.   

    将HelloServlet.class拷入ROOT/WEB-INF/classes/下在ROOT/WEB-INF/web.xml的<!-- JSPC servlet mappings start -->下加入以下:
           <servlet>
         <servlet-name>HelloServlet</servlet-name>
         <servlet-class>HelloServlet</servlet-class>
           </servlet>       <servlet-mapping>
                <servlet-name>HelloServlet</servlet-name>
        <url-pattern>/HelloServlet</url-pattern>
           </servlet-mapping>
      

  4.   

    我的文件是这样的
    首页index.jsp使用户登陆界面
    <form name="frmLogon" method="POST" action="/servlet/servletclass.AdminProc?servletact=104" >
    .......
    </form>
    AdminProc是登陆验证类 目录 web-inf\classes\servletclass
    登陆成功跳到页面main.jsp以前用resin可以
    现在改用tomcat5.2.24去不行
    为什么??
    难道一定要给每个类都在web.xml中说明吗??
    有200个类也!!那不麻烦事了,以后维护也麻烦阿??
      

  5.   

    每个servlet都要在web.xml里面配置才能使用,如。
    <servlet>
            <servlet-name>default</servlet-name>
            <servlet-class>
              org.apache.catalina.servlets.DefaultServlet
            </servlet-class>
    </servlet>
       <servlet-mapping>
            <servlet-name>default</servlet-name>
            <url-pattern>*.do</url-pattern>
        </servlet-mapping>
    2.  如 duanyuxy123(这几年) 所说,tomcat下用到的类,必须是有包的,像你那样没有包的类,在tomcat下是不能用的。
      

  6.   

    如果你不想每个servlet都在web.xml中说明的话,有一个办法,这需要对tomcat的配置文件稍做修改,找到%TOMCAT_HOME%\conf\web.xml,在它里面找到如下内容
    <!--
        <servlet>
            <servlet-name>invoker</servlet-name>
            <servlet-class>
              org.apache.catalina.servlets.InvokerServlet
            </servlet-class>
            <init-param>
                <param-name>debug</param-name>
                <param-value>0</param-value>
            </init-param>
            <load-on-startup>2</load-on-startup>
        </servlet>
    -->
    把它的注释标识去掉,也就是把开头的<!--和结尾的-->去掉,
    还有
    <!--
    <servlet-mapping>
        <servlet-name>invoker</servlet-name>
        <url-pattern>/servlet/*</url-pattern>
    </servlet-mapping>
    -->
    同样把注释标识去掉,保存文件,再重启TOMCAT就可以了。
      

  7.   

    哪里有SERVLET。JAR我什么都找不到,
    哪位大哥能不能传一个给我
    [email protected]
      

  8.   

    如 duanyuxy123(这几年)所说。在tomcat环境下,直接放在WEB-INF/classes目录下的类它是不认的.必须放到目录下,比如WEB-INF/classes/servlet/MyServlet.class才能找到。另外,严格的命名法则中,一般也没有在根目录下的类。
      

  9.   

    哪里有SERVLET。JAR我什么都找不到,
    哪位大哥能不能传一个给我
    [email protected]