Web-Inf/classesWEB-INF/classes改了web.xml 后Tomcat重启.

解决方案 »

  1.   

    还有一段
    <servlet>
       <servlet-mapping>....</servlet-mapping>
    有没有写?
      

  2.   

    http://expert.csdn.net/Expert/TopicView1.asp?id=1697022
      

  3.   

    肯定没有写servlet的映射,没有映射是找不到servlet的
      

  4.   

    将servlet.jar的路径加到classpath里!
    修改conf/web.xml
    找到
     <!-- The mapping for the invoker servlet -->
    <!--
        <servlet-mapping>
            <servlet-name>invoker</servlet-name>
            <url-pattern>/servlet/*</url-pattern>
        </servlet-mapping>
    -->
    将上面的注视去掉
     <!-- The mapping for the invoker servlet -->    <servlet-mapping>
            <servlet-name>invoker</servlet-name>
            <url-pattern>/servlet/*</url-pattern>
        </servlet-mapping>
      

  5.   

    servlet通用配置方法如下:配置web.xml
    http://expert.csdn.net/Expert/topic/1518/1518131.xml?temp=.8928644
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
      <servlet-mapping>
        <servlet-name>invoker</servlet-name>
        <url-pattern>/servlet/*</url-pattern>
      </servlet-mapping>
    </web-app>这样就行了,以后用servlet的时候
    url写:/servlet/包.类?参数=xx
    包位于classes/
    这个web就是指你的自己目录中的D:\xxx\WEB-INF\web.xml
    web.xml就是为了设定每个虚拟目录的环境而存在的,不是像server.xml那样tomcat只用一个
    你要先在server.xml设定虚拟目录,指向D:\xxx\
    确定127.0.0.1:8080打开的是D:\xxx\下面的文件,
    然后再设定web.xml,
    <web-app>
      <servlet-mapping> //下面这2句对servlet通用
        <servlet-name>invoker</servlet-name> 
        <url-pattern>/servlet/*</url-pattern>
      </servlet-mapping>
    </web-app>url写:http://127.0.0.1:8080/虚拟目录/servlet/包.类?参数=xx
    如果设定D:\xxx为网站根目录的话,就是http://127.0.0.1:8080/servlet/包.类
    注意大小写
      

  6.   

    <!DOCTYPE web-app 
        PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
        "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
        <display-name>My Study Web Applications</display-name>
        <context-param>
          <param-name>webmaster</param-name>
          <param-value>[email protected]</param-value>
        </context-param>    <servlet>
          <servlet-name>MyDate</servlet-name>
          <servlet-class>MyDateServlet</servlet-class>
          <load-on-startup>5</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>invoker</servlet-name>
            <url-pattern>/servlet/*</url-pattern>
        </servlet-mapping>
          <session-timeout>30</session-timeout>
        </session-config>
    </web-app>
    http://127.0.0.1:8080/study可以访问到我的index.jsp并且运行正常,
    http://127.0.0.1:8080/study/servlet/MyDate却说找不到啊。“HTTP 404 未找到”
    当然我是重起了tomcat的。
    而且我的MyDateServlet.class确实是在Web-inf\classes下的啊。
      

  7.   

    servlet最好组织到package里面
      

  8.   

    我在tomcat/logs/localhost_study_log.2003-04-23.txt里看到这样一句,
    2003-04-23 14:13:01 ContextConfig[/study]: Missing application web.xml, using defaults only。
    14:13就是刚刚我重新启动tomcat的时间。
    我的server.xml里这样的:
    <Context path="/study" docBase="F:\\java\\jsp" debug="0"
             reloadable="true">
    ....
    怎么会这样呢?我的f:/java/jsp/web-inf/web.xml是存在的啊,而且就是像我上面说的那个写的啊。
    55~~~5~~~~~~谁能告诉我啊??
      

  9.   

    改成<Context path="/study" docBase="F:/java/jsp" debug="0"
             reloadable="true">试一试!
      

  10.   

    好了啊,问题解决了,把server.xml改成
    <Context path="/study" docBase="F:\\java\\study" debug="0"
             reloadable="true">
    然后把f:\java\jsp目录重命名成study就可以了,真不知道为什么会这样。
    好象没有什么人真正帮了我的呢,为了不浪费分数啊,现在问题改成写好的javabean要放在哪里,需要哪些配置啊?