把文件放到c:\tomcat\webapps\examples\WEB-INF\classes\HelloWorld.java就可以了。要是放到c:\tomcat\webapps\ROOT\WEB-INF\classes\HelloWorld.java需要修改server.xml文件。

解决方案 »

  1.   

    HelloWorld.java需要编译成class文件
      

  2.   

    你需要把%catalina_home%/conf/web.xml中的invoker servlet注释去掉
    这样才能用/servlet/*来访问servlet
      

  3.   

    我现在把它放到 c:\mypg 目录下进行编译 (用JAVAC 命令)但提示下面错误:
    HelloWorld.java:14: illegal character: \12288
       
    ^
    HelloWorld.java:14: illegal character: \12288
       
     ^
    HelloWorld.java:14: 'class' or 'interface' expected
       
       ^
    HelloWorld.java:2: package javax.servlet does not exist
    import javax.servlet.*; 
    ^
    HelloWorld.java:3: package javax.servlet.http does not exist
    import javax.servlet.http.*; 
    ^
    HelloWorld.java:5: cannot resolve symbol
    symbol  : class HttpServlet 
    location: class HelloWorld
    public class HelloWorld extends HttpServlet { 
                                    ^
    HelloWorld.java:6: cannot resolve symbol
    symbol  : class HttpServletRequest 
    location: class HelloWorld
    public void doGet(HttpServletRequest request, 
                      ^
    HelloWorld.java:7: cannot resolve symbol
    symbol  : class HttpServletResponse 
    location: class HelloWorld
    HttpServletResponse response) 
    ^
    HelloWorld.java:8: cannot resolve symbol
    symbol  : class ServletException 
    location: class HelloWorld
    throws ServletException, IOException { 
           ^
    9 errors
    这是怎么回事啊
      

  4.   

    你还是放回原来的路径,按coolmetal说的做一下吧
      

  5.   

    你把*.java放jdk的bin下编译,试试
      

  6.   

    .;c:\mypg;%java_home%\lib\dt.jar;%java_home%\j2sdk1.4.1_02\lib\htmlconverter.jar;%java_home%\j2sdk1.4.1_02\lib\tools.jar;%java_home%\j2sdkee1.4\lib\j2ee.jar;%java_home%\j2sdkee1.4\lib\j2ee-ri-svc.jar;%java_home%\j2sdkee1.4\lib\j2eetools.jar;%java_home%\j2sdkee1.4\lib\jhall.jar;C:\mysql\mm.mysql-2.0.4-bin.jar;%tomcat_home%
    这是我的环境变量配置我现在把那段代码放到 UltraEdit-32里进行编译
    提示的错误是: error: cannot read: HelloWorld.java
    1 error我存放源文件的路径是: c:\mygp 下
    我在这个路径下编译别的 .java 源文件都可以生成一个 .class 文件
    但为什么上面的那段 servlet 就不可以呢???
      

  7.   

    1.把c:\tomcat\webapps\ROOT\WEB-INF\classes加到CLASSPATH之后再编译(或加.之后在当前文件夹编译)
    2.设置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>
    servlet-mapping可以不设置.
    3.再在浏览器试试~http://localhost:8080/HelloWorld
      

  8.   

    .;c:\mypg;%java_home%\lib\dt.jar;%java_home%\j2sdk1.4.1_02\lib\htmlconverter.jar;%java_home%\j2sdk1.4.1_02\lib\tools.jar;%java_home%\j2sdkee1.4\lib\j2ee.jar;%java_home%\j2sdkee1.4\lib\j2ee-ri-svc.jar;%java_home%\j2sdkee1.4\lib\j2eetools.jar;%java_home%\j2sdkee1.4\lib\jhall.jar;C:\mysql\mm.mysql-2.0.4-bin.jar;%tomcat_home%
    这是我的环境变量配置我现在把那段代码放到 UltraEdit-32里进行编译
    提示的错误是: error: cannot read: HelloWorld.java
    1 error我存放源文件的路径是: c:\mygp 下
    我在这个路径下编译别的 .java 源文件都可以生成一个 .class 文件
    但为什么上面的那段 servlet 就不可以呢???
      

  9.   

    .;c:\mypg;%java_home%\lib\dt.jar;%java_home%\j2sdk1.4.1_02\lib\htmlconverter.jar;%java_home%\j2sdk1.4.1_02\lib\tools.jar;%java_home%\j2sdkee1.4\lib\j2ee.jar;%java_home%\j2sdkee1.4\lib\j2ee-ri-svc.jar;%java_home%\j2sdkee1.4\lib\j2eetools.jar;%java_home%\j2sdkee1.4\lib\jhall.jar;C:\mysql\mm.mysql-2.0.4-bin.jar;%tomcat_home%
    这是我的环境变量配置我现在把那段代码放到 UltraEdit-32里进行编译
    提示的错误是: error: cannot read: HelloWorld.java
    1 error我存放源文件的路径是: c:\mygp 下
    我在这个路径下编译别的 .java 源文件都可以生成一个 .class 文件
    但为什么上面的那段 servlet 就不可以呢???
      

  10.   

    偶大概说说过程吧~
    1.文件夹目录
    WEBAPP根目录==>c:\mygp
                   -------WEB-INF
                   --------------classes
                   ---------------------test
                   -------------------------*.class(*.java方便编译测试也放在这里)
                   -------*.jsp2.把c:\mygp\WEB-INF\classes加到CLASSPATH里
                     
    2.假如你用c:\mygp作为WEBAPP,那先在SERVER.XML加一个CONTEXT
            <Context path="/mygp" docBase="mygp" debug="0"
                     reloadable="true" crossContext="true" />3.之后类放在test下,编译
    package test;
    import java.io.*; 
    import javax.servlet.*; 
    import javax.servlet.http.*; 
    public class HelloWorld extends HttpServlet { 
    public void doGet(HttpServletRequest request, 
    HttpServletResponse response) 
    throws ServletException, IOException { 
    PrintWriter out = response.getWriter(); 
    out.println("Hello World"); 


    4.设置WEB.XML.例如
        <servlet>
          <servlet-name>
             HelloWorld
          </servlet-name>
          <servlet-class>
              test.HelloWorld
          </servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>HelloWorld</servlet-name>
            <url-pattern>HelloWorld<url-pattern>
        </servlet-mapping>5.在浏览器试试~http://localhost:8080/HelloWorld基本搞定注:上面过程未经偶测试.你自己测试一下~
      

  11.   

    2.假如你用c:\mygp作为WEBAPP,那先在SERVER.XML加一个CONTEXT
            <Context path="/mygp" docBase="mygp" debug="0"
                     reloadable="true" crossContext="true" />
    ==>
    2.假如你用c:\mygp作为WEBAPP,那先在SERVER.XML加一个CONTEXT
            <Context path="/mygp" docBase="c:\mygp" debug="0"
                     reloadable="true" crossContext="true" />
      

  12.   

    还要提醒你,你的tomcat可能默认没有../servlet/..的映射路径,需要修改tomcat conf目录下的web.xml,把    
    <servlet-mapping>
            <servlet-name>invoker</servlet-name>
            <url-pattern>/servlet/*</url-pattern>
    </servlet-mapping>
    的注释去掉。或者在自己web-inf下的web.xml中加入上面这段也行。
      

  13.   

    虽然问题没有根本解决不过还是感谢大家的诚心帮助,就大家的回答让我又学到不少新的东东
    感谢大家了
    不过再等一个人 acefr() 
    我马上结帖