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

Tomcat加Maven配置的方法及常見錯誤

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

添加依賴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ù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

天台县| 全州县| 龙江县| 石景山区| 定南县| 扎兰屯市| 陆良县| 丰镇市| 荆州市| 石棉县| 乐都县| 大名县| 唐河县| 个旧市| 武安市| 房产| 泰来县| 凤台县| 都昌县| 醴陵市| 上蔡县| 大渡口区| 闻喜县| 光泽县| 周至县| 天柱县| 陇川县| 司法| 车险| 海晏县| 廉江市| 安阳市| 响水县| 永吉县| 凤翔县| 竹溪县| 介休市| 中宁县| 阳信县| 南开区| 宁乡县|