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

spring boot tomcat版本升級(jí)的實(shí)現(xiàn)示例

 更新時(shí)間:2024年11月06日 09:05:49   作者:小大力  
本文主要介紹了spring boot tomcat版本升級(jí)的實(shí)現(xiàn)示例,將tomcat升級(jí)一個(gè)小版本升級(jí)到9.0.44版本,文中通過圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1. 需求

我們使用的springboot版本為2.3.8.RELEASE,對(duì)應(yīng)的tomcat版本為9.0.41,公司tomcat對(duì)應(yīng)版本發(fā)現(xiàn)攻擊者可發(fā)送不完整的POST請(qǐng)求觸發(fā)錯(cuò)誤響應(yīng),從而可能導(dǎo)致獲取其他用戶先前請(qǐng)求的數(shù)據(jù),造成信息泄露的bug,行方要求對(duì)tomcat版本進(jìn)行升級(jí),受影響版本如下:

Apache Tomcat 9.0.0-M11 至 9.0.43
Apache Tomcat 8.5.7 至 8.5.63

由上所示,我們公司決定將tomcat升級(jí)一個(gè)小版本升級(jí)到9.0.44版本,解決對(duì)應(yīng)問題。

2.具體操作

具體操作分為如下幾步

  • 確定自己使用tomcat版本號(hào),查看是否需要升級(jí)
  • 移除tomcat錯(cuò)誤版本編號(hào),引入新的版本tomcat相關(guān)pom坐標(biāo)
  • 進(jìn)行服務(wù)啟動(dòng)測試,查看版本編號(hào)是否修改成功

2.1 確定當(dāng)前tomcat使用版本號(hào)

首先我們需要確定自己對(duì)應(yīng)的tomcat版本編號(hào),可以使用右鍵點(diǎn)擊進(jìn)入spring-boot-starter-parent

在這里插入圖片描述

然后再右鍵點(diǎn)擊進(jìn)入spring-boot-dependencies

在這里插入圖片描述

然后我們?cè)诶锩姘l(fā)現(xiàn)tomcat引入的jar包,再次進(jìn)行右鍵點(diǎn)擊spring-boot-starter-tomcat

在這里插入圖片描述

最終發(fā)現(xiàn)tomcat版本為9.0.41,版本在漏洞版本中,所以需要升級(jí)

在這里插入圖片描述

具體升級(jí)版本
我們具體可以升級(jí)到設(shè)么版本,需要確定一下,可以使用maven的公共倉庫mvnrepository確定一下到底支持哪些版本,通過在倉庫中搜索spring-boot-starter-tomcat,找到對(duì)應(yīng)的2.3.8.RELEASE版本,我們可以看到他的支持版本范圍,具體訪問地址

在這里插入圖片描述

注意:確定當(dāng)前版本信息也可以使用maven的dependences樹狀依賴,查看依賴關(guān)系,此處我已經(jīng)修改完了所以展示的頁面也是修改完之后正確的tomcat版本

在這里插入圖片描述

還可以使用maven沖突解決工具進(jìn)行樹結(jié)構(gòu)查看,這里不多贅述了

在這里插入圖片描述

2.2 移除starter-web模塊對(duì)tomcat的依賴并引入新依賴

主要操作為pom文件中的starter-web,以及引入新的依賴,具體的pom文件如下所示,在maven對(duì)應(yīng)的根pom中引入新版tomcat版本號(hào) <tomcat.version>9.0.44</tomcat.version>

在這里插入圖片描述

我們項(xiàng)目有一個(gè)common模塊,他統(tǒng)一引入starter-web模塊,我們修改此處即可,其他引用模塊則自動(dòng)更新tomcat版本,具體pom信息如下

<?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">
    <parent>
        <artifactId>credit-business</artifactId>
        <groupId>cn.git</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>business-common</artifactId>
    <description>公共模塊,業(yè)務(wù)依賴基礎(chǔ)模塊,提供基礎(chǔ)的技術(shù)和業(yè)務(wù)支撐</description>

    <dependencies>
        <!-- feign 調(diào)用通用interceptor,保證調(diào)用header token 值不丟失 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.tomcat.embed</groupId>
                    <artifactId>tomcat-embed-core</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.tomcat.embed</groupId>
                    <artifactId>tomcat-embed-el</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.tomcat.embed</groupId>
                    <artifactId>tomcat-embed-websocket</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.tomcat</groupId>
                    <artifactId>tomcat-annotations-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- tomcat 修復(fù)漏洞 -->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-core</artifactId>
            <version>${tomcat.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.tomcat</groupId>
                    <artifactId>tomcat-annotations-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-annotations-api</artifactId>
            <version>${tomcat.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-el</artifactId>
            <version>${tomcat.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-websocket</artifactId>
            <version>${tomcat.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.tomcat.embed</groupId>
                    <artifactId>tomcat-embed-core</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>cn.git</groupId>
            <artifactId>credit-swagger-starter</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.mapstruct</groupId>
            <artifactId>mapstruct</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
        <dependency>
            <groupId>cn.git</groupId>
            <artifactId>credit-oracle-starter</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>cn.git</groupId>
            <artifactId>credit-redis-starter</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <!-- ftp上傳下載-->
        <dependency>
            <groupId>commons-net</groupId>
            <artifactId>commons-net</artifactId>
            <version>3.7</version>
        </dependency>
        <dependency>
            <groupId>cn.git</groupId>
            <artifactId>credit-discovery-starter</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>
    </dependencies>
</project>

2.3 測試

其實(shí)前面的maven樹以及依賴樹已經(jīng)證實(shí) tomcat版本已經(jīng)修改了,但是還是啟動(dòng)一下服務(wù)確定一下為好,那么再次啟動(dòng)服務(wù),發(fā)現(xiàn)版本編號(hào)已經(jīng)修改

在這里插入圖片描述

到此這篇關(guān)于spring boot tomcat版本升級(jí)的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)spring boot tomcat版本升級(jí)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • SpringBoot項(xiàng)目動(dòng)態(tài)指定配置文件的方法示例

    SpringBoot項(xiàng)目動(dòng)態(tài)指定配置文件的方法示例

    SpringBoot 作為 Java 開發(fā)中一個(gè)非常流行的框架,以其簡化配置和快速啟動(dòng)應(yīng)用而聞名,在開發(fā)過程中,我們經(jīng)常需要根據(jù)不同的環(huán)境來加載不同的配置文件,本文給大家介紹了SpringBoot項(xiàng)目動(dòng)態(tài)指定配置文件的方法示例,需要的朋友可以參考下
    2024-12-12
  • 使用Spring?Boot快速構(gòu)建一個(gè)簡單的文件處理工具

    使用Spring?Boot快速構(gòu)建一個(gè)簡單的文件處理工具

    在現(xiàn)代Web應(yīng)用中,文件上傳與處理是常見的需求,本文將通過一個(gè)實(shí)際案例,詳細(xì)介紹如何使用Spring?Boot構(gòu)建一個(gè)文件處理工具,感興趣的小伙伴可以參考一下
    2025-06-06
  • Eclipse配置SVN的幾種方法及使用詳情

    Eclipse配置SVN的幾種方法及使用詳情

    這篇文章主要介紹了Eclipse配置SVN的幾種方法及使用詳情,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Java異常處理之try...catch...語句的使用進(jìn)階

    Java異常處理之try...catch...語句的使用進(jìn)階

    這篇文章主要介紹了Java異常處理之try...catch...語句的使用進(jìn)階,重點(diǎn)在于牽扯相關(guān)IO使用時(shí)的資源調(diào)配情況,需要的朋友可以參考下
    2015-11-11
  • 使用Files.walkFileTree遍歷目錄文件

    使用Files.walkFileTree遍歷目錄文件

    這篇文章主要介紹了使用Files.walkFileTree遍歷目錄文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Java實(shí)現(xiàn)JS中的escape和UNescape代碼分享

    Java實(shí)現(xiàn)JS中的escape和UNescape代碼分享

    在PHP和Python中都有類似JS中的escape和UNescape函數(shù)的功能,那么Java語言中到底有沒有類似的方法呢?本文就來介紹一下Java實(shí)現(xiàn)JS中的escape和UNescape轉(zhuǎn)碼方法,需要的朋友可以參考下
    2017-09-09
  • springboot接口接收數(shù)組及多個(gè)參數(shù)的問題及解決

    springboot接口接收數(shù)組及多個(gè)參數(shù)的問題及解決

    這篇文章主要介紹了springboot接口接收數(shù)組及多個(gè)參數(shù)的問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 如何獲取Java集合中泛型的Class對(duì)象

    如何獲取Java集合中泛型的Class對(duì)象

    這篇文章主要介紹了如何獲取Java集合中泛型的Class對(duì)象問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • @RequestController之?dāng)?shù)據(jù)源與連接池使用及說明

    @RequestController之?dāng)?shù)據(jù)源與連接池使用及說明

    文章總結(jié):介紹了Spring MVC中的@Controller和@ResponseBody注解以及@RequestMapping注解的使用方法,詳細(xì)講解了數(shù)據(jù)源、連接池的概念及其在Java項(xiàng)目中的應(yīng)用,包括JNDI、DBCP、C3P0和Druid等連接池的配置和特點(diǎn)
    2026-01-01
  • Java中的StringJoiner類使用示例深入詳解

    Java中的StringJoiner類使用示例深入詳解

    這篇文章主要為大家介紹了Java中的StringJoiner類使用示例深入詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09

最新評(píng)論

德惠市| 隆化县| 潍坊市| 丰台区| 舒兰市| 望江县| 都昌县| 桦川县| 永年县| 家居| 青龙| 广宗县| 基隆市| 延川县| 临潭县| 和田市| 华容县| 汾阳市| 定边县| 东至县| 桃园县| 安陆市| 七台河市| 东乡| 沐川县| 太仆寺旗| 赞皇县| 万州区| 宜春市| 博乐市| 蚌埠市| 莎车县| 四川省| 藁城市| 南靖县| 桐梓县| 黑龙江省| 安化县| 尼木县| 邯郸市| 虹口区|