最近在學習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下
