最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Tomcat加Maven配置的方法及常見錯(cuò)誤

 更新時(shí)間:2026年02月26日 09:25:48   作者:范什么特西  
文章介紹了在Maven項(xiàng)目中配置Tomcat和Java Servlet API的相關(guān)操作,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧

添加依賴pom.xml文件:到Maven Repository里面尋找Java Servlet API jar包

(Tomca版本問題(如果報(bào)錯(cuò)為500

)

  • Tomcat 10+ 把包名從 javax.* 改成了 jakarta.*
  • 如果代碼還在用 javax.servlet,但Tomcat為10+就找不到這個(gè)包
  • 錯(cuò)誤信息里的 NoClassDefFoundError 就是因?yàn)榘黄ヅ?/li>

)

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

注意servlet-mapping里面的url-pattern必須斜杠開頭

  • <servlet> 只是告訴容器:"我創(chuàng)建了一個(gè)名叫 hellow 的 Servlet"
  • 但沒有 <servlet-mapping> 告訴容器:"這個(gè) hellow Servlet 應(yīng)該對應(yīng)哪個(gè) URL 訪問路徑"

添加Tomcat時(shí)候,分為Tomcat和TomcatEE

區(qū)別:

  • 用 Tomcat,你需要什么功能,就自己“買”什么“家具”(依賴庫)放進(jìn)去。
  • 用 TomEE,開發(fā)商(Apache)已經(jīng)把常用的“家具”(企業(yè)級功能)都給你配好了,你直接“拎包入住”就行。

如果報(bào)錯(cuò)為405

錯(cuò)誤信息說:"此URL不支持Http方法GET",意思是你的 Servlet 沒有正確處理 GET 請求。

問題就在 super.doGet(req, resp) 這行!
調(diào)用父類的 doGet() 方法,而父類(HttpServlet)的默認(rèn)實(shí)現(xiàn)就是返回 405 錯(cuò)誤。

Maven配置

  • clean:會(huì)刪除 target 目錄,清理之前的所有編譯文件
  • package:會(huì)重新編譯、測試、打包你的項(xiàng)目
  • 成功后會(huì)在 target 目錄下生成:Maven_01_Test.war 文件

分析結(jié)構(gòu):

web.xml文件:

  • .xml:是一種標(biāo)記語言,用標(biāo)簽 <xxx> 來寫配置
<servlet>
    <servlet-name>hellow</servlet-name>           <!-- 給廚師起個(gè)小名叫"hellow" -->
    <servlet-class>com.counter.servlet</servlet-class>  <!-- 告訴服務(wù)員,hellow 廚師是張三(具體哪個(gè)類) -->
</servlet>
<servlet-mapping>
    <servlet-name>hellow</servlet-name>           <!-- 當(dāng)客人點(diǎn) hellow 套餐時(shí) -->
    <url-pattern>/hellow</url-pattern>            <!-- 客人喊"/hellow" 這個(gè)菜名 -->
</servlet-mapping>
  • 當(dāng)用戶在瀏覽器輸入 http://localhost:8080/項(xiàng)目名/hellow
  • Tomcat 就會(huì)去找 com.counter.servlet 這個(gè)類
  • 然后執(zhí)行里面的 doGet() 或 doPost() 方法

總結(jié):web.xml 就是你的"項(xiàng)目說明書",告訴 Tomcat 服務(wù)器你的網(wǎng)站該怎么運(yùn)行。

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. 項(xiàng)目坐標(biāo)(項(xiàng)目的身份證) -->
    <groupId>com.counter</groupId>           <!-- 公司名(反寫的域名) -->
    <artifactId>Maven_01_Test</artifactId>   <!-- 項(xiàng)目名 -->
    <version>1.0-SNAPSHOT</version>          <!-- 版本號 -->
    <packaging>war</packaging>                <!-- 打包方式:war(網(wǎng)頁應(yīng)用) -->
    <!-- 3. 項(xiàng)目屬性(統(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已提供,打包時(shí)不用包含 -->
        </dependency>
        <!-- 如果需要JSP,加這個(gè) -->
        <dependency>
            <groupId>jakarta.servlet.jsp</groupId>
            <artifactId>jakarta.servlet.jsp-api</artifactId>
            <version>3.1.1</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
    <!-- 5. 構(gòu)建配置(怎么裝修房子) -->
    <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>  <!-- 項(xiàng)目名:Maven_01_Test -->
<version>1.0-SNAPSHOT</version>         <!-- 版本:1.0-SNAPSHOT(開發(fā)版) -->
<packaging>war</packaging>               <!-- 類型:war(網(wǎng)頁應(yī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    → 運(yùn)行測試(如果有測試代碼)
package → 打包(生成war/jar文件)
install → 裝到本地倉庫(給別的項(xiàng)目用)

常見問題

Q:為什么要用 Maven?
A:不用手動(dòng)找jar包、不用手動(dòng)添加依賴、自動(dòng)下載、統(tǒng)一版本。

Q:provided 是什么意思?
A:"自帶材料"——Tomcat 服務(wù)器里已經(jīng)有 Servlet 的jar包了,我打包時(shí)不用再塞進(jìn)去,省空間。

Q:我的項(xiàng)目報(bào)錯(cuò)說找不到 Servlet 類?
A:檢查 pom.xml 里有沒有加 Servlet 依賴!

到此這篇關(guān)于Tomcat加Maven配置的文章就介紹到這了,更多相關(guān)tomcat maven配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

辽阳县| 长岭县| 柳州市| 南乐县| 平泉县| 绥化市| 新邵县| 湄潭县| 仲巴县| 奈曼旗| 伊金霍洛旗| 托克逊县| 绥化市| 法库县| 香河县| 广平县| 塘沽区| 南涧| 平利县| 麟游县| 吴旗县| 墨竹工卡县| 晋江市| 灵宝市| 乌拉特后旗| 九台市| 上饶市| 呼玛县| 石屏县| 平阴县| 汤原县| 德钦县| 灵璧县| 通渭县| 宁陵县| 嘉义市| 广州市| 安国市| 綦江县| 金塔县| 得荣县|