jswdk-1.0.1安装成功了;servlet.jar也分别加到classpath中,复制到jdk\jre\lib中了,还是不能编译.classpath=%java_home%\lib;%java_home%\dt.jar;%java_home%\tools.jar;f:\jswdk-1.0.1\lib\servlet.jar;f:\jswdk-1.0.1\webserver.jar;%java_home%\jre\lib\servlet-api.jar    请问下面这个程序如何才能正确编译运行?
import java.servlet.*;
import java.servlet.http.*;
import javax.servlet.io;
import javax.servlet.util;
public class ReqInfoServlet extends HttpServlet
{
public void service(HttpServletRequst req,HttpServletResponse res)
throws IOException
{
ServletOutputStream os;
Enumeration paramValue;
String paramName,paramValue;
Enumeration hdrNames;
String hdrDate,hdrName,hdrValue;
res.setContentType("text/plain");
PrintWrite pw = new PrintWrite(res.getOutputStream());
pw.println("Request protocol is "+
req.getPotocol());
pw.println("Request scheme is "+req.getScheme());
pw.println("Remote host is "+req.getRemoteHost());
pw.println("Remote address is "+req.getScheme());
pw.println("Receiving server is "+ req.getServerName()+"on oprt number"+req.getServerPort());
pw.println();
pw.println("Header data  is :");
while(hdrNames.hasMoreElements())
{
hdrName=(String)hdrNames.nextElement();
gdrValue=(String)req.getHeader(hdrName);
pw.println("name="+hdrName+"; value="+hdrValue);
}
pw.println();
paramNames=req.getParameterNames();
while(hdrNames.hasMoreElements)
{
hdrName=(String)hdrName.nextElement();
hdrValue=(String)req.getHeader(hdrName);
pw.println("name="+hdrName+";value="+hdrValue);
}
pw.println();
paramNames=req.getParameterNames();
pw.println("Request parameters are:");
while(paramNames.hasMoreElements())
{
paramName=(String)paramName.nextElement();
paramValue=(String)req.getParameter(paramName);
pe.println("name="+paramName+";value="+paramValue);
}
pw.flush();
pw.close();
}
}先表示感谢!

解决方案 »

  1.   

    先表感谢!
    提示信息是:
    F:\jswdk-1.0.1\examples\WEB-INF\servlets\ReqInfoServlet.java:1: package javax.servlet does not exist
    import javax.servlet.*;
    ^
    我把TOMCAT的\common\lib下的servlet-api加到classpath中也一样.
      

  2.   

    我就想试着自己编个servlet,一个星期都没成功,我身边的人谁也不明白
      

  3.   

    可能是系统无法识别引用的servlet
    环境变量中的servlet-api.jar和servlet.jar重复
    去掉一个试试
      

  4.   

    1.用ide编译
    2.指定classpath
    3.将jar文件放入,jdk\jre\ext\lib,不是jdk\jre\lib
      

  5.   

    package javax.servlet does not exist
    缺包
      

  6.   

    package com.ch.net.house.saleUsed;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.Enumeration;import javax.servlet.ServletOutputStream;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;public class ReqInfoServlet extends HttpServlet
    {
    public void service(HttpServletRequest req,HttpServletResponse res)
    throws IOException
    {
    ServletOutputStream os;
    Enumeration paramValue;
    String paramName,gdrValue;
    Enumeration hdrNames;
    String hdrDate,hdrName,hdrValue;
    res.setContentType("text/plain");
    PrintWriter pw = new PrintWriter(res.getOutputStream());
    pw.println("Request protocol is "+
    req.getProtocol());
    pw.println("Request scheme is "+req.getScheme());
    pw.println("Remote host is "+req.getRemoteHost());
    pw.println("Remote address is "+req.getScheme());
    pw.println("Receiving server is "+ req.getServerName()+"on oprt number"+req.getServerPort());
    pw.println();
    pw.println("Header data  is :");
    while(hdrNames.hasMoreElements())
    {
    hdrName=(String)hdrNames.nextElement();
    gdrValue=(String)req.getHeader(hdrName);
    pw.println("name="+hdrName+"; value="+hdrValue);
    }
    pw.println();
    paramName=req.getParameterNames();//以下都还有错!
    while(hdrNames.hasMoreElements)
    {
    hdrName=(String)hdrName.nextElement();
    hdrValue=(String)req.getHeader(hdrName);
    pw.println("name="+hdrName+";value="+hdrValue);
    }
    pw.println();
    paramName=req.getParameterNames();
    pw.println("Request parameters are:");
    while(paramName.hasMoreElements())
    {
    paramName=(String)paramName.nextElement();
    paramValue=(String)req.getParameter(paramName);
    pe.println("name="+paramName+";value="+paramValue);
    }
    pw.flush();
    pw.close();
    }
    }代码问题太多了我修改不下去了!
      

  7.   

    1、最初classpath中只有servlet.jar
    2、jar已放入jdk\jre\ext\lib中
    3、servlet.jar已存于f:\jswdk-1.0.1中
      

  8.   

    HttpServletRequst 应为 HttpServletRequest
    Enumeration paramValue;
    String paramName,paramValue;  paramValue重复PrintWrite 应为 PrintWriter 随便举几个列。。唉太多问题了
      

  9.   

    java -classpath \servlet.jar try again
      

  10.   

    /* $Id: RequestInfoExample.java,v 1.2 1999/03/17 02:36:51 duncan Exp $
     *
     */import java.io.*;
    import java.text.*;
    import java.util.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    /**
     * Example servlet showing request information.
     *
     * @author James Duncan Davidson <[email protected]>
     */public class RequestInfoExample extends HttpServlet {
        ResourceBundle rb = ResourceBundle.getBundle("LocalStrings");    public void doGet(HttpServletRequest request,
                          HttpServletResponse response)
            throws IOException, ServletException
        {
            response.setContentType("text/html");        PrintWriter out = response.getWriter();
            out.println("<html>");
            out.println("<body>");
            out.println("<head>");        String title = rb.getString("requestinfo.title");
            out.println("<title>" + title + "</title>");
            out.println("</head>");
            out.println("<body bgcolor=\"white\">");        // img stuff not req'd for source code html showing
    // all links relative!

            out.println("<a href=\"../servlets/reqinfo.html\">");
            out.println("<img src=\"../images/code.gif\" height=24 " +
                        "width=24 align=right border=0 alt=\"view code\"></a>");
            out.println("<a href=\"../servlets/index.html\">");
            out.println("<img src=\"../images/return.gif\" height=24 " +
                        "width=24 align=right border=0 alt=\"return\"></a>");        out.println("<h3>" + title + "</h3>");
            out.println("<table border=0><tr><td>");
            out.println(rb.getString("requestinfo.label.method"));
            out.println("</td><td>");
            out.println(request.getMethod());
            out.println("</td></tr><tr><td>");
            out.println(rb.getString("requestinfo.label.requesturi"));
            out.println("</td><td>");        
            out.println(request.getRequestURI());
            out.println("</td></tr><tr><td>");        
            out.println(rb.getString("requestinfo.label.protocol"));
            out.println("</td><td>");        
            out.println(request.getProtocol());
            out.println("</td></tr><tr><td>");
            out.println(rb.getString("requestinfo.label.pathinfo"));
            out.println("</td><td>");        
            out.println(request.getPathInfo());
            out.println("</td></tr><tr><td>");
            out.println(rb.getString("requestinfo.label.remoteaddr"));
            out.println("</td><td>");                
            out.println(request.getRemoteAddr());
            out.println("</table>");
        }    public void doPost(HttpServletRequest request,
                          HttpServletResponse response)
            throws IOException, ServletException
        {
            doGet(request, response);
        }}以上程序是servlet自带的程序,可以运行,但我无法编译
      

  11.   

    package com.ch.net.house.saleUsed;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.Enumeration;import javax.servlet.ServletOutputStream;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;public class ReqInfoServlet extends HttpServlet
    {
    public void service(HttpServletRequest req,HttpServletResponse res)
    throws IOException
    {
    ServletOutputStream os;
    Enumeration paramValue;
    String paramName,gdrValue;
    Enumeration hdrNames;
    String hdrDate,hdrName,hdrValue;
    res.setContentType("text/plain");
    PrintWriter pw = new PrintWriter(res.getOutputStream());
    pw.println("Request protocol is "+
    req.getProtocol());
    pw.println("Request scheme is "+req.getScheme());
    pw.println("Remote host is "+req.getRemoteHost());
    pw.println("Remote address is "+req.getScheme());
    pw.println("Receiving server is "+ req.getServerName()+"on oprt number"+req.getServerPort());
    pw.println();
    pw.println("Header data  is :");
    while(hdrNames.hasMoreElements())
    {
    hdrName=(String)hdrNames.nextElement();
    gdrValue=(String)req.getHeader(hdrName);
    pw.println("name="+hdrName+"; value="+hdrValue);
    }
    pw.println();
    paramValue=req.getParameterNames();
    while(hdrNames.hasMoreElements)//
    {
    hdrName=(String)paramValue.nextElement();
    hdrValue=(String)req.getHeader(hdrName);
    pw.println("name="+hdrName+";value="+hdrValue);
    }
    pw.println();
    paramValue=req.getParameterNames();
    pw.println("Request parameters are:");
    while(paramValue.hasMoreElements())
    {
    paramName=(String)paramValue.nextElement();
    gdrValue=(String)req.getParameter(paramName);
    pw.println("name="+paramName+";value="+gdrValue);
    }
    pw.flush();
    pw.close();
    }
    }
      

  12.   

    在我的电脑,右键,高级,环境变量里的classpath添加一个.....\servlet.jar所在的路径就可以了
      

  13.   

    程序有太多错误,建议先写一个简单的。import 的时候也是有顺序的,先import java.io.*因为servlet要用到IoExceptionPrintWriter而不是PrintWrite还有重复定义...错误
      

  14.   

    这是java数据库开发与专业应用书上的例题.
    错误虽多,但基本都是同一种类的
    servlet.jar我已加到classpath中
      

  15.   

    qczl1224(倾请一世) 的程序编译错误为:
    F:\Program Files\Xinox Software\JCreator Pro\MyProjects\ReqInfoServlet.java:6: package javax.servlet does not exist
    import javax.servlet.ServletOutputStream;
                         ^
      

  16.   

    qczl1224(倾请一世) 的程序编译错误为:
    F:\Program Files\Xinox Software\JCreator Pro\MyProjects\ReqInfoServlet.java:6: package javax.servlet does not exist
    import javax.servlet.ServletOutputStream;代码错误修好了在编译吧, 错误太多给出的报错信息不一定就是对的,懂编程的都知道!
      

  17.   

    原因只有两个1 你用winzip解开servlet-api.jar,看看里面的目录结构是否为javax\servlet,下面是否就是有所有*.class了。2 你说把servlet-api.jar包放到classpath下,请问题是指哪个目录?你试试放到${JDK_HOME}/jre\lib\ext下
      

  18.   

    把tomcate/common/lib中的servlet-api.jar放到jdk\jre\lib\ext中应该可以了