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)域下實踐的 MVC,因為 web 領(lǐng)域的視圖層跟 native 應(yīng)用的視圖層不太能劃等號
3.Spring MVC 和 Spring Web MVC 是同一個東西,就是 Spring Framework 里的一個模塊。在 Spring Framework 介紹頁面 寫的是 Spring MVC,然而點進去后具體的描述頁面 使用 Spring Web MVC 來稱呼
文檔里有這么一句話:
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”.
所以說正式名稱叫 Spring Web MVC,不過大多數(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過濾器,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的一個實現(xiàn)。spring-webmvc依賴spring- web,因此包括它會傳遞性增加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過濾器,Spring HTTP Invoker,用于與其他Web框架和HTTP技術(shù)集成的基礎(chǔ)設(shè)施。
http(http協(xié)議的實現(xiàn)類)和web包(應(yīng)用,上下文,會話,cookies,過濾器等等)
比如大家都熟悉的web.xml里的引入:
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
spring-web還提供 對遠程調(diào)用和遠程服務(wù)的支持。
spring-web-mvc
spring-mvc提供了基于spring的web的MVC模式,webmvc主要是增加了對spring MVC的支持,包括一些view層的核心封裝,提供各前端技術(shù)及標簽支持,restful協(xié)議、國際化等模塊。
view層的核心封裝,提供各前端技術(shù)及標簽支持。
servlet包(各種view引擎:FreeMarker,Velocity,Jasper,Tiles,Grooy的配置;各種處理器;國際化i118n;mvc中的Controller的定義;基于cookies,會話的主題配置;各種HTML標簽的對應(yīng)類)
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
java中File類的三種創(chuàng)建文件夾方法總結(jié)
這篇文章主要給大家介紹了關(guān)于java中File類的三種創(chuàng)建文件夾方法,File類代表文件或目錄路徑名的抽象表達形式,通過File類提供的方法,我們可以很方便地創(chuàng)建文件夾,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-04-04MapStruct內(nèi)部錯誤:NullPointerException的解決方案
在Java開發(fā)中,MapStruct是一個非常流行的對象映射工具,它通過注解處理器在編譯時生成映射代碼,極大地簡化了對象之間的轉(zhuǎn)換操作,本文將詳細分析一個常見的MapStruct內(nèi)部錯誤——NullPointerException,并提供一系列解決方案,需要的朋友可以參考下2025-02-02Flutter實現(xiàn)文本組件、圖標及按鈕組件的代碼
這篇文章主要介紹了Flutter實現(xiàn)文本組件、圖標及按鈕組件的代碼,本文給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-07-07Spring Boot中進行 文件上傳和 文件下載功能實現(xiàn)
開發(fā)Wb應(yīng)用時,文件上傳是很常見的一個需求,瀏覽器 通過 表單形式 將 文件 以 流的形式傳遞 給 服務(wù)器,服務(wù)器再對上傳的數(shù)據(jù)解析處理,下面將通過一個案例講解使用 SpringBoot 實現(xiàn) 文件上傳,感興趣的朋友一起看看吧2024-07-07為什么禁止在SpringBoot項目中使用@Autowired注解
寫代碼的時候突然發(fā)現(xiàn)?idea?在屬性注入的?@Autowired?注解上給出警告提示,spring?framework?4.0?以后開始出現(xiàn)的,spring?4.0?開始就不推薦使用屬性注入,改為推薦構(gòu)造器注入和?setter?注入,推薦的方法是使用基于構(gòu)造函數(shù)和基于setter的依賴注入2024-08-08