servlet , or httpservlet找不到包的情况处理

在编译ServletExp.java程序:

Java代码  
  1. import java.io.*;  
  2. import java.text.*;  
  3. import java.util.*;  
  4. import javax.servlet.*;  
  5. import javax.servlet.http.*;  
  6.   
  7. public class ServletExp extends HttpServlet  
  8. {  
  9.     public void doGet( HttpServletRequest request, HttpServletResponse response)throws IOException, ServletException  
  10.     {  
  11.         PrintWriter out = response.getWriter();  
  12.         out.println("<html>");  
  13.         out.println("<body bgcolor = \"white\">");  
  14.         out.println("Method:");  
  15.         out.println(request.getMethod() );  
  16.         out.println("</br>");  
  17.         out.println("URI: ");  
  18.         out.println(request.getRequestURI());  
  19.         out.println("</br>");  
  20.         out.println("Protocol: ");  
  21.         out.println(request.getProtocol());  
  22.         out.println("</br>");  
  23.         out.println("RemoteAddr: ");  
  24.         out.println(request.getRemoteAddr());  
  25.         out.println("</body>");  
  26.         out.println("</html>");  
  27.     }  
  28.     public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException  
  29.     {  
  30.         doGet(request, response);  
  31.     }  
  32. }  

 

出现问题如下:

HelloWorld.java:2: 软件包 javax.servlet 不存在
import javax.servlet.*;
^
HelloWorld.java:3: 软件包 javax.servlet.http 不存在
import javax.servlet.http.*;
^
HelloWorld.java:6: 找不到符号
符号: 类 HttpServlet
public class HelloWorld extends HttpServlet {
                                ^
HelloWorld.java:7: 找不到符号
符号: 类 HttpServletRequest
位置: 类 HelloWorld
    public void doGet(HttpServletRequest request, HttpServletResponse response)
                      ^
HelloWorld.java:7: 找不到符号
符号: 类 HttpServletResponse
位置: 类 HelloWorld
    public void doGet(HttpServletRequest request, HttpServletResponse response)
                                                  ^
HelloWorld.java:8: 找不到符号
符号: 类 ServletException
位置: 类 HelloWorld
    throws IOException, ServletException

 

原因是:java编译器没有找到软件包javax.servlet,由于servlet和JSP不是Java平台Java SE(标准版)的一部分,而是Java EE(企业版)的一部分,因此,必须告知编译器servlet的位置。

解决:

1、修环境变量CLASSPATH,添加servlet-api.jar的路径如下:

     F:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\serblet-api.jar

     重启cmd,重新编译

     javac ServletExp.java  编译成功。

2、下载或者到安装jboss的目录下,如:“jboss4\server\default\lib”拷贝一个javax.servlet.jar的包到“JDK\jre\lib\ext”目录下,而不是目录“JDK\jre\lib”,也不是“JDK\lib”下。

    凡是出现找不到包的情况,都可以将找到的包放到JDK\jre\lib\ext下,然后再编译就能够通过。


你可能感兴趣的:(java,jdk,jboss,servlet,import,编译器)