javax.servlet不存在的问题

时间:2022-12-30 23:56:23

 
 
 
最近在学习servlet,看书看的似乎还比较理想就想上机试下,这一试就发现,问题来了 ,每次编译都说找不到 servlet 和 httpServlet 包。我在网上找啊找啊,找到的总是要我们把 tomcat /lib/下的servlet.jar 加到classpath就OK了。但是一次一次的提示同样的错误就差点将我从servlet打回来了。后来我终于找到了,真的很感谢他。
我再一次感谢他。
以下试他blog中的内容
 
 
将HelloServlet.java编译为HelloServlet.class文件。

HelloServlet.java:2: 软件包 javax.servlet 不存在
import javax.servlet.*;
^
HelloServlet.java:3: 软件包 javax.servlet.http 不存在
import javax.servlet.http.*;
^
HelloServlet.java:13: 找不到符号
符号: 类 HttpServlet
public class HelloServlet extends HttpServlet {
                                   ^
HelloServlet.java:14: 找不到符号
符号: 类 HttpServletRequest
位置: 类 HelloServlet
public void doGet(HttpServletRequest request,
                     ^
HelloServlet.java:15: 找不到符号
符号: 类 HttpServletResponse
位置: 类 HelloServlet
                     HttpServletResponse response)
                     ^
HelloServlet.java:16: 找不到符号
符号: 类 ServletException
位置: 类 HelloServlet
       throws ServletException, IOException {
             ^
6 错误
出现错误!由于servlet和JSP不是Java平台Java SE(标准版)的一部分,而是Java EE(企业版)的一部分,因此,必须告知编译器servlet的位置。
解决“软件包 javax.servlet 不存在”错误的方法:
1.      搜索servlet-api.jar
所在文件夹:C:/Tomcat 5.5/common/lib
2.      将环境变量CLASSPATH的值设置为:
.;C:/Tomcat 5.5/common/lib/servlet-api.jar

上面的是就是我所发现的最最完善的教程所说的解决方法,然后按照预测:

3.      重新编译:javac HelloServlet.java,编译成功。
结果。。。。不行!

现在我们发现了什么原因?原来出了设置classpath以及servlet-api.jar的区别外,还有一点!!!
把COMMON/LIB下的SERVLET-API.JAR    拷贝到JDK/jre/lib/ext下