開發Servlet時WEB-INF下面的lib目錄下缺jar包的表現
阿新 • • 發佈:2019-02-12
寫一個最簡單的Servlet,執行時出錯,404,還有無法LoadClass。一些錯誤資訊如下:
javax.servlet.ServletException: Error instantiating servlet class qxd.MySV......
org.apache.catalina.authenticator.AuthenticatorBase.invoke((AuthenticatorBase.java:502)......
再次重新整理頁面時,則出現404錯誤。
Tomcat Servlet 404
找了半天原因,最後覺得是WEB-INF下面的lib目錄下缺相應的jar包導致的。將兩個涉及的JAR包放到這個目錄下,就可以了。
這兩個是基礎性的jar包,但是缺乏了也是會出執行時錯誤:
javax.servlet-5.1.12.jar
commons-io-2.4.jar
JAVA程式裡面的import匯入部分寫的是:,實際下載匯入的包名稱是:commons-io-2.4.jar這個需要注意。
另外,把build path的預設位置該到了當前的專案下:ServeletQ/WebContent/WEB-INF/classes, 但不知道這個是不是核心的一個原因。
還有,Eclipse裡面設定了自動重建。但是隻有修改了web.xml檔案後才會自動build和釋出,原因需要研究。
以上分析過程中,是開始考慮如何部署Servlet到生產環境的時候,才琢磨出的問題的所在。