首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

MyEclipse Servlet 運行報 ClassNotFoundException:Tomcat 配置與 web.xml 檢查清單

     編輯:程式設計疑難解答

錯誤信息

java.lang.ClassNotFoundException: org.apache.catalina.startup.Catalina

排查步驟

  1. Tomcat 啟動日志**:控制台是否有紅色異常?若 Tomcat 自身啟動失敗,Servlet 當然無法運行。檢查端口占用、JDK 版本匹配、catalina.bat 路徑。
  2. web.xml 配置 Servlet**:
    <servlet>
      <servlet-name>MyServlet</servlet-name>
      <servlet-class>com.example.MyServlet</servlet-class> <!-- 全限定名 -->
    </servlet>
    <servlet-mapping>
      <servlet-name>MyServlet</servlet-name>
      <url-pattern>/myservlet</url-pattern>
    </servlet-mapping>
    
  3. 項目發布路徑**:MyEclipse 部署配置中,項目是否正確發布到 Tomcat `webapps` 或配置的 Context 路徑。
  4. JDK/JRE 一致性**:項目編譯 JDK、Tomcat 運行 JRE、MyEclipse 安裝 JRE 版本一致(建議同主版本)。
  5. 清理重建**:`Project → Clean`,刪除 Tomcat `work`、`temp` 目錄,重新發布。

常見誤區

  • 以為 Servlet 類不需在 web.xml 註冊(Servlet 3.0+ 支持註解 `@WebServlet`,但需確認 Tomcat 版本 ≥ 7 且 `metadata-complete="false"`)。
  • 忽略 Tomcat 控制台啟動錯誤,直接怪代碼。

總結

先確保 Tomcat 本身啟動無錯,再檢查 web.xml 註冊與發布路徑,最後才看代碼邏輯。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved