Spring:spring-webmvc和spring-web有哪些區(qū)別
MVC 和web MVC ,SpringMVC和Spring web MVC的關(guān)系與區(qū)別?
1.MVC 是一種架構(gòu)分層模式
2.web MVC 是指在 web 領(lǐng)域下實(shí)踐的 MVC,因?yàn)?web 領(lǐng)域的視圖層跟 native 應(yīng)用的視圖層不太能劃等號(hào)
3.Spring MVC 和 Spring Web MVC 是同一個(gè)東西,就是 Spring Framework 里的一個(gè)模塊。在 Spring Framework 介紹頁(yè)面 寫的是 Spring MVC,然而點(diǎn)進(jìn)去后具體的描述頁(yè)面 使用 Spring Web MVC 來(lái)稱呼
文檔里有這么一句話:
The formal name “Spring Web MVC” comes from the name of its source module spring-webmvc but it is more commonly known as “Spring MVC”.
所以說(shuō)正式名稱叫 Spring Web MVC,不過(guò)大多數(shù)人都喜歡叫 Spring MVC。
區(qū)別
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>3.1.2.RELEASE</version> </dependency> vs <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>3.1.2.RELEASE</version> </dependency>
1.spring-web 提供核心的HTTP集成,包括一些方便的Servlet過(guò)濾器,Spring HTTP
Invoker,與其他Web框架和HTTP技術(shù)(例如Hessian,Burlap)集成的基礎(chǔ)結(jié)構(gòu),spring-web的依賴:
序列化技術(shù) protobuf,gson,hession,
http 工具 httpclient,okhttp
netty 依賴
spring 框架依賴 spring-aop,spring-beans,spring-context,spring-core,spring-oxm
2.servlet 依賴 javax.servlet-apispring-webmvc是Spring MVC的一個(gè)實(shí)現(xiàn)。spring-webmvc依賴spring- web,因此包括它會(huì)傳遞性增加spring-web。您不必spring-web顯式添加。
如果您不使用Spring MVC,但想利用Spring支持的其他與Web相關(guān)的技術(shù),則應(yīng)該僅依賴spring-web。
stackoverflow參考:https://stackoverflow.com/questions/13533700/maven-dependency-spring-web-vs-spring-webmvc
工程結(jié)構(gòu)差別
spring-web
spring-web提供核心的HTTP集成,包括一些方便的Servlet過(guò)濾器,Spring HTTP Invoker,用于與其他Web框架和HTTP技術(shù)集成的基礎(chǔ)設(shè)施。
http(http協(xié)議的實(shí)現(xiàn)類)和web包(應(yīng)用,上下文,會(huì)話,cookies,過(guò)濾器等等)
比如大家都熟悉的web.xml里的引入:
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
spring-web還提供 對(duì)遠(yuǎn)程調(diào)用和遠(yuǎn)程服務(wù)的支持。
spring-web-mvc
spring-mvc提供了基于spring的web的MVC模式,webmvc主要是增加了對(duì)spring MVC的支持,包括一些view層的核心封裝,提供各前端技術(shù)及標(biāo)簽支持,restful協(xié)議、國(guó)際化等模塊。
view層的核心封裝,提供各前端技術(shù)及標(biāo)簽支持。
servlet包(各種view引擎:FreeMarker,Velocity,Jasper,Tiles,Grooy的配置;各種處理器;國(guó)際化i118n;mvc中的Controller的定義;基于cookies,會(huì)話的主題配置;各種HTML標(biāo)簽的對(duì)應(yīng)類)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java中File類的三種創(chuàng)建文件夾方法總結(jié)
這篇文章主要給大家介紹了關(guān)于java中File類的三種創(chuàng)建文件夾方法,File類代表文件或目錄路徑名的抽象表達(dá)形式,通過(guò)File類提供的方法,我們可以很方便地創(chuàng)建文件夾,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-04-04MapStruct內(nèi)部錯(cuò)誤:NullPointerException的解決方案
在Java開(kāi)發(fā)中,MapStruct是一個(gè)非常流行的對(duì)象映射工具,它通過(guò)注解處理器在編譯時(shí)生成映射代碼,極大地簡(jiǎn)化了對(duì)象之間的轉(zhuǎn)換操作,本文將詳細(xì)分析一個(gè)常見(jiàn)的MapStruct內(nèi)部錯(cuò)誤——NullPointerException,并提供一系列解決方案,需要的朋友可以參考下2025-02-02Flutter實(shí)現(xiàn)文本組件、圖標(biāo)及按鈕組件的代碼
這篇文章主要介紹了Flutter實(shí)現(xiàn)文本組件、圖標(biāo)及按鈕組件的代碼,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-07-07Java中SimpleDateFormat方法超詳細(xì)分析
這篇文章主要給大家介紹了關(guān)于Java中SimpleDateFormat方法超詳細(xì)分析的相關(guān)資料,SimpleDateFormat 是一個(gè)以國(guó)別敏感的方式格式化和分析數(shù)據(jù)的具體類,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-08-08Spring Boot中進(jìn)行 文件上傳和 文件下載功能實(shí)現(xiàn)
開(kāi)發(fā)Wb應(yīng)用時(shí),文件上傳是很常見(jiàn)的一個(gè)需求,瀏覽器 通過(guò) 表單形式 將 文件 以 流的形式傳遞 給 服務(wù)器,服務(wù)器再對(duì)上傳的數(shù)據(jù)解析處理,下面將通過(guò)一個(gè)案例講解使用 SpringBoot 實(shí)現(xiàn) 文件上傳,感興趣的朋友一起看看吧2024-07-07Spring使用注解存儲(chǔ)Bean對(duì)象的方法詳解
在使用學(xué)習(xí)使用 Spring過(guò)程中,當(dāng)我們要實(shí)現(xiàn)一個(gè)功能的時(shí)候,先應(yīng)該考慮的是有沒(méi)有相應(yīng)的注解是實(shí)現(xiàn)對(duì)應(yīng)功能的,Spring 中很多功能的配置都是可以依靠注解實(shí)現(xiàn)的,而本篇中介紹的是使用注解來(lái)存儲(chǔ) Bean 對(duì)象2023-07-07為什么禁止在SpringBoot項(xiàng)目中使用@Autowired注解
寫代碼的時(shí)候突然發(fā)現(xiàn)?idea?在屬性注入的?@Autowired?注解上給出警告提示,spring?framework?4.0?以后開(kāi)始出現(xiàn)的,spring?4.0?開(kāi)始就不推薦使用屬性注入,改為推薦構(gòu)造器注入和?setter?注入,推薦的方法是使用基于構(gòu)造函數(shù)和基于setter的依賴注入2024-08-08