大家好, 为什么我在dos 下使用 javac 不能够编译这个程序的呢?
我的环境变量已经设置正确的了
大家看看我写的代码: 
我是按照书本直接输入进去的,而在ECLIPSE下写这个代码显示正确的,但是在DOS下却不可以编译,因为测试的时候要使用他的CLASS文件,但是就在这一步卡住了我,麻烦大家帮帮小弟解决问题,谢谢!
代码如下:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;public class DispatcherServlet extends GenericServlet {
private String target = "/hello.jsp"; public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
request.setAttribute("USER",username);
request.setAttribute("PASSWORD",password);
ServletContext context = getServletContext();
RequestDispatcher dispatcher = context.getRequestDispatcher(target);
dispatcher.forward(request,response);


}
}
在DOS下编译的错误提示如下:
C:\>javac DispatcherServlet.java
DispatcherServlet.java:1: 软件包 javax.servlet 不存在
import javax.servlet.*;
^
DispatcherServlet.java:2: 软件包 javax.servlet.http 不存在
import javax.servlet.http.*;
^
DispatcherServlet.java:6: 找不到符号
符号: 类 GenericServlet
public class DispatcherServlet extends GenericServlet {
                                       ^
DispatcherServlet.java:9: 找不到符号
符号: 类 ServletRequest
位置: 类 DispatcherServlet
        public void service(ServletRequest request, ServletResponse response)
                            ^
DispatcherServlet.java:9: 找不到符号
符号: 类 ServletResponse
位置: 类 DispatcherServlet
        public void service(ServletRequest request, ServletResponse response)
                                                    ^
DispatcherServlet.java:10: 找不到符号
符号: 类 ServletException
位置: 类 DispatcherServlet
                        throws ServletException, IOException {
                               ^
DispatcherServlet.java:15: 找不到符号
符号: 类 ServletContext
位置: 类 DispatcherServlet
                ServletContext context = getServletContext();
                ^
DispatcherServlet.java:15: 找不到符号
符号: 方法 getServletContext()
位置: 类 DispatcherServlet
                ServletContext context = getServletContext();
                                         ^
DispatcherServlet.java:16: 找不到符号
符号: 类 RequestDispatcher
位置: 类 DispatcherServlet
                RequestDispatcher dispatcher = context.getRequestDispatcher(targ
et);
                ^
9 错误

解决方案 »

  1.   

    呵呵...你只加了jdk的基础包吧...
    把那几个servlet的包的加到环境变量中去
      

  2.   

    谢谢LS
    但是我是刚刚才学JAVA
    可以麻烦告诉我一下详细的步骤是怎样的吗?
      

  3.   

    在你的classpath下添加 %JAVA_HOME%\lib\j2ee.jar
    一定要有j2ee.jar 存在你的目录下班
      

  4.   


    谢谢,但是我刚刚看过我的LIB目录了,没有j2ee.jar
    这个文件啊,请问在哪里可以复制过去呢?
    或者在哪里可以下载呢?
      

  5.   

    你去tomcat下去找找..
    或者去网上下个...
      

  6.   

    谢谢您的帮助
    我刚刚从CSDN下载了j2ee.jar文件包
    并且按照您的步骤设置了CLASSPATH 我也把j2ee.jar文件放到JDK安装目录的LIB文件夹里面了
    但是错误还是一样
    错误提示如下:
    C:\>javac DispatcherServlet.java
    错误: 读取 C:\jdk1.5.4\lib\j2ee.jar   时出错;error in opening zip file
    DispatcherServlet.java:1: 软件包 javax.servlet 不存在
    import javax.servlet.*;
    ^
    DispatcherServlet.java:2: 软件包 javax.servlet.http 不存在
    import javax.servlet.http.*;
    ^
    DispatcherServlet.java:6: 找不到符号
    符号: 类 GenericServlet
    public class DispatcherServlet extends GenericServlet {
                                           ^
    DispatcherServlet.java:9: 找不到符号
    符号: 类 ServletRequest
    位置: 类 DispatcherServlet
            public void service(ServletRequest request, ServletResponse response)
                                ^
    DispatcherServlet.java:9: 找不到符号
    符号: 类 ServletResponse
    位置: 类 DispatcherServlet
            public void service(ServletRequest request, ServletResponse response)
                                                        ^
    DispatcherServlet.java:10: 找不到符号
    符号: 类 ServletException
    位置: 类 DispatcherServlet
                            throws ServletException, IOException {
                                   ^
    DispatcherServlet.java:15: 找不到符号
    符号: 类 ServletContext
    位置: 类 DispatcherServlet
                    ServletContext context = getServletContext();
                    ^
    DispatcherServlet.java:15: 找不到符号
    符号: 方法 getServletContext()
    位置: 类 DispatcherServlet
                    ServletContext context = getServletContext();
                                             ^
    DispatcherServlet.java:16: 找不到符号
    符号: 类 RequestDispatcher
    位置: 类 DispatcherServlet
                    RequestDispatcher dispatcher = context.getRequestDispatcher(targ
    et);
                    ^
    10 错误
      

  7.   

    谢谢LS的兄弟帮助
    现在问题解决了,原来是j2ee.jar我下载的包是损坏的,我刚刚在http://d.download.csdn.net/down/253198/kingquake21
    这里再下载了一个正确的,编译问题解决了,谢谢