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

springboot啟動404問題以及解決方案

 更新時間:2024年01月27日 14:24:01   作者:Ense  
這篇文章主要介紹了springboot啟動404問題以及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

springboot啟動404問題

隨便建了個springboot項目,寫了個TestController類.在成功啟動內置tomcat后,一直報404。

在網上找了很多例子,大部分都是說啟動類的位置和controller包的位置的問題,我的是沒有問題的。

還有就是配置前端訪問html問題的配置,我的是純后臺,沒有連接前端,因此也沒問題。

找了一圈后,在一個英文網站找到了原因

在寫controller類時,用到了注解@RequestMapping注解,百度了一下,發(fā)現注解在spring-web包中,于是引入了spring-web的依賴。

然后啟動服務器成功后一直報錯。

后面加上了spring-boot-starter-web才解決了此問題。

原因找到了,那為什么會出現這種情況呢?

我查看了下

spring-boot-starter-web

的依賴群,于是發(fā)現了如圖的各種依賴

然后發(fā)現spring-boot-starter-web不僅包含了spring-web的依賴,還找到了一個最關鍵的依賴:spring-webmvc

沒錯,404的原因找到了,就是少了spring-webmvc幫忙處理web請求.

加上了spring-boot-starter-web就可以去掉之前加的spring-web依賴了.

那為什么并不加spring-webmvc就不行呢?

我看了下spring-webmvc的源碼包

如圖:

DispatcherServlet正是請求分發(fā)和處理返回view視圖的控制器

然后看了下springmvc的工作流程:

1、用戶發(fā)送請求至前端控制器DispatcherServlet。

2、DispatcherServlet收到請求調用HandlerMapping處理器映射器。

3、處理器映射器找到具體的處理器(可以根據xml配置、注解進行查找),生成處理器對象及處理器攔截器(如果有則生成)一并返回給DispatcherServlet。

4、DispatcherServlet調用HandlerAdapter處理器適配器。

5、HandlerAdapter經過適配調用具體的處理器(Controller,也叫后端控制器)。

6、Controller執(zhí)行完成返回ModelAndView。

7、HandlerAdapter將controller執(zhí)行結果ModelAndView返回給DispatcherServlet。

8、DispatcherServlet將ModelAndView傳給ViewReslover視圖解析器。

9、ViewReslover解析后返回具體View。

10、DispatcherServlet根據View進行渲染視圖(即將模型數據填充至視圖中)。

11、DispatcherServlet響應用戶。

由此可知.如果沒有spring-webmvc依賴,請求根本不知道怎么處理,也就是根本找不到責任人和目的地.

那spring-web又是做什么用的呢?

有比較才有不同,name我們用spring-web和spring-webmvc來大概比較一下

首先看下spring-web的源碼包

可以看到http和remoting都是服務于遠程調用的,而web包則是管理spring容器對象的,

spring-webmvc依賴于spring-web,應為mvc模式的對象都是由spring-web來管理的,可以說spring-webmvc是拓展業(yè)務的子分支。

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • centos7.4系統(tǒng)中yum源安裝mysql 5.6

    centos7.4系統(tǒng)中yum源安裝mysql 5.6

    本文給大家介紹的是如何在centos7.4系統(tǒng)中通過yum源安裝MySQL 5.6數據庫,CentOS7默認數據庫是mariadb, 但是 好多用的都是mysql ,但是CentOS7的yum源中默認好像是沒有mysql的,今天我們就來看看具體如何操作
    2018-09-09
  • mysql5.0版本下載地址集合

    mysql5.0版本下載地址集合

    mysql5.0版本是比較經典的版本,這個版本對大多數的cms支持比較好,但官方網站不容易找到下載地址,這里特整理下,方便需要mysql5.0的朋友
    2013-06-06
  • 讀取mysql一個庫下面的所有的表table

    讀取mysql一個庫下面的所有的表table

    本文給大家分享的是如何使用php實現讀取mysql一個庫下面的所有的表table的代碼,有需要的小伙伴可以參考下
    2016-12-12
  • MySQL如何優(yōu)化索引

    MySQL如何優(yōu)化索引

    這篇文章主要介紹了MySQL如何優(yōu)化索引,幫助大家更好的理解和使用MySQL數據庫,感興趣的朋友可以了解下
    2020-12-12
  • MySQL指定IP登錄配置方法的完整步驟

    MySQL指定IP登錄配置方法的完整步驟

    這篇文章主要介紹了MySQL指定IP登錄配置方法的相關資料,包括設置指定IP授權、修改用戶IP、配置防火墻限制、加強my.cnf安全及連接驗證等步驟,需要的朋友可以參考下
    2025-07-07
  • MySQL中FOR UPDATE的具體用法

    MySQL中FOR UPDATE的具體用法

    本文主要介紹了MySQL中FOR UPDATE的具體用法,它在事務中起到了鎖定數據行的關鍵作用,確保了數據的一致性和可靠性,下面就來具體的介紹一下應用場景等,感興趣的可以了解一下
    2024-02-02
  • 一條SQL更新語句的執(zhí)行過程解析

    一條SQL更新語句的執(zhí)行過程解析

    這篇文章主要介紹了一條SQL更新語句的執(zhí)行過程解析,所以一條更新語句的執(zhí)行流程又是怎樣的呢?下面我們一起進入文章了解更多具體內容吧
    2022-05-05
  • MySql8.0對應驅動包匹配注意點+SpringBoot連接MySQL+多數據源配置教程

    MySql8.0對應驅動包匹配注意點+SpringBoot連接MySQL+多數據源配置教程

    MySql8.0更新后,應用程序需要更新對應驅動包,Maven配置、JDBC配置、Mybatis集成、多數據源配置等細節(jié)注意事項,需注意驅動包版本匹配、數據庫配置、類文件創(chuàng)建及配置等,并解決了項目啟動過程中遇到的報錯信息
    2026-03-03
  • mysql語句如何插入含單引號或反斜杠的值詳解

    mysql語句如何插入含單引號或反斜杠的值詳解

    這篇文章主要給大家介紹了關于mysql語句如何插入含單引號或反斜杠的值的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-02-02
  • MySQL如何查詢Binlog 生成時間

    MySQL如何查詢Binlog 生成時間

    這篇文章主要介紹了MySQL如何查詢Binlog 生成時間,通過讀取 Binlog FORMAT_DESCRIPTION_EVENT header 時間戳來實現讀取 Binlog 生產時間,本文給大家詳細講解,需要的朋友可以參考下
    2023-03-03

最新評論

龙岩市| 睢宁县| 沙湾县| 德兴市| 常德市| 唐山市| 沈丘县| 河津市| 汝城县| 南皮县| 庆云县| 九龙县| 肥乡县| 勃利县| 新密市| 江津市| 丹阳市| 浮梁县| 潮州市| 金沙县| 铜川市| 图们市| 保靖县| 望谟县| 宁南县| 湄潭县| 西乡县| 巴青县| 咸阳市| 麻江县| 堆龙德庆县| 班戈县| 永平县| 夹江县| 莱阳市| 周宁县| 金寨县| 高淳县| 虎林市| 阳曲县| 平安县|