Tomcat加Maven配置的方法及常見錯誤
添加依賴pom.xml文件:到Maven Repository里面尋找Java Servlet API jar包
(Tomca版本問題(如果報錯為500

)
- Tomcat 10+ 把包名從
javax.*改成了jakarta.* - 如果代碼還在用
javax.servlet,但Tomcat為10+就找不到這個包 - 錯誤信息里的
NoClassDefFoundError就是因為包名不匹配
)

更新web.xml配置: (可以上tomcat里面找到對應的xml文件,復制上去)

注意servlet-mapping里面的url-pattern必須斜杠開頭
<servlet>只是告訴容器:"我創(chuàng)建了一個名叫 hellow 的 Servlet"- 但沒有
<servlet-mapping>告訴容器:"這個 hellow Servlet 應該對應哪個 URL 訪問路徑"
添加Tomcat時候,分為Tomcat和TomcatEE
區(qū)別:
- 用 Tomcat,你需要什么功能,就自己“買”什么“家具”(依賴庫)放進去。
- 用 TomEE,開發(fā)商(Apache)已經(jīng)把常用的“家具”(企業(yè)級功能)都給你配好了,你直接“拎包入住”就行。
如果報錯為405

錯誤信息說:"此URL不支持Http方法GET",意思是你的 Servlet 沒有正確處理 GET 請求。
問題就在 super.doGet(req, resp) 這行!
調用父類的 doGet() 方法,而父類(HttpServlet)的默認實現(xiàn)就是返回 405 錯誤。
Maven配置
- clean:會刪除
target目錄,清理之前的所有編譯文件 - package:會重新編譯、測試、打包你的項目
- 成功后會在
target目錄下生成:Maven_01_Test.war文件
分析結構:
web.xml文件:
.xml:是一種標記語言,用標簽<xxx>來寫配置
<servlet>
<servlet-name>hellow</servlet-name> <!-- 給廚師起個小名叫"hellow" -->
<servlet-class>com.counter.servlet</servlet-class> <!-- 告訴服務員,hellow 廚師是張三(具體哪個類) -->
</servlet>
<servlet-mapping>
<servlet-name>hellow</servlet-name> <!-- 當客人點 hellow 套餐時 -->
<url-pattern>/hellow</url-pattern> <!-- 客人喊"/hellow" 這個菜名 -->
</servlet-mapping>- 當用戶在瀏覽器輸入
http://localhost:8080/項目名/hellow - Tomcat 就會去找
com.counter.servlet這個類 - 然后執(zhí)行里面的
doGet()或doPost()方法
總結:web.xml 就是你的"項目說明書",告訴 Tomcat 服務器你的網(wǎng)站該怎么運行。
pom.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- 1. POM版本:固定用4.0.0 -->
<modelVersion>4.0.0</modelVersion>
<!-- 2. 項目坐標(項目的身份證) -->
<groupId>com.counter</groupId> <!-- 公司名(反寫的域名) -->
<artifactId>Maven_01_Test</artifactId> <!-- 項目名 -->
<version>1.0-SNAPSHOT</version> <!-- 版本號 -->
<packaging>war</packaging> <!-- 打包方式:war(網(wǎng)頁應用) -->
<!-- 3. 項目屬性(統(tǒng)一管理版本號) -->
<properties>
<maven.compiler.source>21</maven.compiler.source> <!-- Java版本 -->
<maven.compiler.target>21</maven.compiler.target> <!-- Java版本 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!-- 4. 依賴清單(要買什么材料) -->
<dependencies>
<!-- Servlet API(做網(wǎng)站必備) -->
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>6.0.0</version>
<scope>provided</scope> <!-- Tomcat已提供,打包時不用包含 -->
</dependency>
<!-- 如果需要JSP,加這個 -->
<dependency>
<groupId>jakarta.servlet.jsp</groupId>
<artifactId>jakarta.servlet.jsp-api</artifactId>
<version>3.1.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
<!-- 5. 構建配置(怎么裝修房子) -->
<build>
<finalName>Maven_01_Test</finalName> <!-- 打包后的WAR文件名 -->
<plugins>
<!-- 編譯插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
</plugin>
</plugins>
</build>
</project>第一到第五行
<groupId>com.counter</groupId> <!-- 你的包名:com.counter --> <artifactId>Maven_01_Test</artifactId> <!-- 項目名:Maven_01_Test --> <version>1.0-SNAPSHOT</version> <!-- 版本:1.0-SNAPSHOT(開發(fā)版) --> <packaging>war</packaging> <!-- 類型:war(網(wǎng)頁應用) -->
2??依賴(第6-8行)
<dependencies>
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>6.0.0</version>
<scope>provided</scope>
</dependency>
</dependencies>3??properties(第3行)
<properties>
<maven.compiler.source>21</maven.compiler.source> <!-- 用Java 21編譯 -->
</properties>統(tǒng)一管理各種版本號,以后改版本只改這里
Maven 生命周期
clean → 打掃衛(wèi)生(刪除target文件夾) compile → 編譯代碼(把.java變成.class) test → 運行測試(如果有測試代碼) package → 打包(生成war/jar文件) install → 裝到本地倉庫(給別的項目用)
常見問題
Q:為什么要用 Maven?
A:不用手動找jar包、不用手動添加依賴、自動下載、統(tǒng)一版本。
Q:provided 是什么意思?
A:"自帶材料"——Tomcat 服務器里已經(jīng)有 Servlet 的jar包了,我打包時不用再塞進去,省空間。
Q:我的項目報錯說找不到 Servlet 類?
A:檢查 pom.xml 里有沒有加 Servlet 依賴!
到此這篇關于Tomcat加Maven配置的文章就介紹到這了,更多相關tomcat maven配置內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- vscode開發(fā)maven的javaweb項目并部署到tomcat及配置指南
- IDEA2023 Maven3.9.1+Tomcat10.1.8配置并搭建Servlet5.0的框架實現(xiàn)
- Maven項目配置Tomcat的兩種方式
- idea2020.3配置maven環(huán)境并配置Tomcat的詳細教程
- Java(JDK/Tomcat/Maven)運行環(huán)境配置及工具(idea/eclipse)安裝詳細教程
- IDEA配置java開發(fā)環(huán)境(maven、gradle、tomcat)
- maven項目遠程部署&&使用tomcat配置數(shù)據(jù)庫連接的方法
- shell腳本自動化創(chuàng)建虛擬機的基本配置之tomcat--mysql--jdk--maven
- SSM項目頻繁打成war包部署,使用tomcat和maven實現(xiàn)熱部署配置
相關文章
解決Tomcat 中catalina.out持續(xù)累加問題
這篇文章主要介紹了解決Tomcat 中catalina.out持續(xù)累加問題 ,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2018-03-03
Tomcat9使用免費的Https證書加密網(wǎng)站的方法
這篇文章主要介紹了Tomcat9使用免費的Https證書加密網(wǎng)站的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05
詳解tomcat部署靜態(tài)html網(wǎng)站方法
這篇文章主要介紹了tomcat部署靜態(tài)html網(wǎng)站方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06
一篇文章徹底解決Win10系統(tǒng)下同時部署多個版本的Tomcat
在Windows系統(tǒng)上部署Tomcat服務器是一個相對簡單的過程,這篇文章主要介紹了Win10系統(tǒng)下同時部署多個版本Tomcat的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2025-08-08
Tomcat啟動springboot項目war包報錯:啟動子級時出錯的問題
這篇文章主要介紹了Tomcat啟動springboot項目war包報錯:啟動子級時出錯的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08

