Java环境变量配置如下:
Java_HOME:D:\jdk1.5.0_06CLASSPATH:
.;D:\jdk1.5.0_06\lib;D:\jdk1.5.0_06\lib\tools.jar;D:\jdk1.5.0_06\jre\lib\rt.jar;D:\jdk1.5.0_06\lib\dt.jar;PATH:D:\jdk1.5.0_06;D:\jdk1.5.0_06\bin;可是当把以下两个文件放在同一个目录下编译时怎么都通不过。
HelloServlet3.java
[code]
package moreservlets;import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloServlet3 extends HttpServlet {
  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
      throws ServletException, IOException {
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    String title = "Hello (3)";
    out.println(ServletUtilities.headWithTitle(title) + 
                "<BODY BGCOLOR=\"#FDF5E6\">\n" +
                "<H1>" + title + "</H1>\n" +
                "</BODY></HTML>");
  }
}[/code]
ServletUtilities
[code]
package moreservlets;import javax.servlet.*;
import javax.servlet.http.*;public class ServletUtilities {
  public static final String DOCTYPE =
    "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " +
    "Transitional//EN\">";  public static String headWithTitle(String title) {
    return(DOCTYPE + "\n" +
           "<HTML>\n" +
           "<HEAD><TITLE>" + title + "</TITLE></HEAD>\n");
  }
  
  public static int getIntParameter(HttpServletRequest request,
                                    String paramName,
                                    int defaultValue) {
    String paramString = request.getParameter(paramName);
    int paramValue;
    try {
      paramValue = Integer.parseInt(paramString);
    } catch(NumberFormatException nfe) { // null or bad format
      paramValue = defaultValue;
    }
    return(paramValue);
  }
  
  public static String getCookieValue(Cookie[] cookies,
                                      String cookieName,
                                      String defaultValue) {
    if (cookies != null) {
      for(int i=0; i<cookies.length; i++) {
        Cookie cookie = cookies[i];
        if (cookieName.equals(cookie.getName()))
          return(cookie.getValue());
      }
    }
    return(defaultValue);
  }
  public static Cookie getCookie(Cookie[] cookies,
                                 String cookieName) {
    if (cookies != null) {
      for(int i=0; i<cookies.length; i++) {
        Cookie cookie = cookies[i];
        if (cookieName.equals(cookie.getName()))
          return(cookie);
      }
    }
    return(null);
  }
  public static String filter(String input) {
    StringBuffer filtered = new StringBuffer(input.length());
    char c;
    for(int i=0; i<input.length(); i++) {
      c = input.charAt(i);
      if (c == '<') {
        filtered.append("&lt;");
      } else if (c == '>') {
        filtered.append("&gt;");
      } else if (c == '"') {
        filtered.append("&quot;");
      } else if (c == '&') {
        filtered.append("&amp;");
      } else {
        filtered.append(c);
      }
    }
    return(filtered.toString());
  }
}[/code]错误信息如下:
HelloServlet3.java:23: 找不到符号
符号: 变量 ServletUtilities
位置: 类 moreservlets.HelloServlet3
    out.println(ServletUtilities.headWithTitle(title) +
                ^

解决方案 »

  1.   

    1. 你是否已经编译了ServletUtilities?
    2. 为什么不用eclipse之类的工具 在这种事情上浪费时间不值得
      

  2.   

    1.我想在编译HelloServlet3的时候,自动编译ServletUtilities
    2.我是初学,先不要用IDE比较好其实我只是想不通明明我已经把".;"加入到CLASSPATH中了,可HelloServlet3为什么就是不从当前目录找?
      

  3.   

    2.我是初学,先不要用IDE比较好
    =>这是误导 工欲善其事 必先利其器!
      

  4.   

    Java环境变量配置如下:
    Java_HOME:D:\jdk1.5.0_06=====================
    ....classpath和path里面 D:\jdk1.5.0_06  为什么不用%Java_HOME%代替?
      

  5.   

    classpath建议直接写,不要用windows的环境变量。个人这么认为的。
    $javahome$/bin/javac -classpath ./ HelloServlet3.java