搜尋
首頁Javajava教程Spring MVC的優點與核心介面圖文詳解

Spring MVC的優點與核心介面圖文詳解

Sep 08, 2017 am 09:44 AM
spring實例介面

這篇文章主要介紹了Spring MVC的優點與核心接口,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟著小編過來看看吧

為開發團隊選擇一款優秀的MVC框架是件難事兒,在眾多可行的方案中決擇需要很高的經驗和水平。你的一個決定會影響團隊未來的幾年。要考慮方面太多:

1、簡單易用,以提高開發效率。使小部分的精力在框架上,大部分的精力放在業務上。

2、性能優秀,這是一個最能吸引眼球的話題。

3、盡量使用大眾的框架(避免使用小眾的、私有的框架),新招募來的開發人員有一些這方面技術積累,減低人員流動再適應的影響。

如果你還在為這件事件發愁,本文最適合你了。選擇Spring MVC吧。

Spring MVC是目前最優秀的MVC框架,自從Spring 2.5版本發布後,由於支援註解配置,易用性有了大幅的提升。 Spring 3.0更加完善,實現了對Struts 2的超越。現在越來越多的開發團隊選擇了Spring MVC。

Struts2也是非常優秀的MVC架構,優點非常多例如良好的結構,攔截器的思想,豐富的功能。但這裡想說的是缺點,Struts2由於採用了值堆疊、OGNL表達式、struts2標籤庫等,會導致應用程式的效能下降,應避免使用這些功能。而Struts2的多層攔截器、多實例action效能都很好。

Spring3 MVC的優點:

#1、Spring3 MVC使用簡單,學習成本低。學習難度小於Struts2,Struts2用不到的多餘功能太多。呵呵,當然這不是決定因素。

2、Spring3 MVC很容易就可以寫出表現優異的程序,Struts2要處處小心才可以寫出表現優異的程序(指MVC部分)

3、Spring3 MVC的靈活是你無法想像的,Spring框架的擴展性有口皆碑,Spring3 MVC當然也不會落後,不會因為使用了MVC框架而感到有任何的限制。

Struts2的眾多優點:

#1、老牌的知名框架,從Struts1起累積了大量使用者群體。技術文件豐富。

2、其它方略...   (呵呵,是不是不公平?)

Spring的官方下載網址是:http://www.springsource.org/download    (本文使用是的Spring 3.0.5版本)

二、核心類別與介面:

先來了解一下,幾個重要的介面與類別。現在不知道他們是做什麼的沒關係,先混個臉熟,為以後認識他們打個基礎。

DispatcherServlet   -- 前置控制器

HandlerMapping介面 -- 處理請求的對應

#HandlerMapping介面的實作類別:

SimpleUrlHandlerMapping  透過設定文件,把一個URL映射到Controller

DefaultAnnotationHandlerMapping  透過註解,把一個URL映射到Controller類別上

#HandlerAdapter介面 -- 處理請求的對應

#AnnotationMethodHandlerAdapter類別,透過註解,把一個URL對應到Controller類別的方法上

Controller介面 -- 控制器

#由於我們使用了@Controller註解,因此新增了@Controller註解註解的類別就可以擔任控制器(Action)的職責,

所以我們並沒有用到這個介面。

HandlerInterceptor 介面--攔截器

無圖,我們自己實作這個接口,來完成攔截的器的工作。

ViewResolver介面的實作類別

UrlBasedViewResolver類 透過設定文件,把一個視圖名稱交給到一個View來處理

InternalResourceViewResolver類,比上面的類,加入了JSTL的支援

View介面

JstlView類別

LocalResolver介面

核心流程圖:

 

#

以上是Spring MVC的優點與核心介面圖文詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
如何處理在IDEA中連接Oracle數據庫時出現的數字溢出錯誤?如何處理在IDEA中連接Oracle數據庫時出現的數字溢出錯誤?Apr 19, 2025 pm 04:15 PM

在IDEA中連接Oracle數據庫時出現數字溢出錯誤的處理方法當我們在使用IntelliJ...

@ResultType註解在MyBatis中如何正確使用?@ResultType註解在MyBatis中如何正確使用?Apr 19, 2025 pm 04:12 PM

在研究MyBatis框架時,開發者們常常會遇到關於註解的各種問題,其中一個常見的問題是如何正確使用@ResultType注...

如何利用自然語言處理技術高效查詢人員數據?如何利用自然語言處理技術高效查詢人員數據?Apr 19, 2025 pm 04:09 PM

利用自然語言處理技術查詢人員數據的方法在現代企業中,人員數據的管理和查詢是一個常見的需求。假設我們...

SpringBoot多數據源配置下,數據庫訪問白天慢夜間快是什麼原因?SpringBoot多數據源配置下,數據庫訪問白天慢夜間快是什麼原因?Apr 19, 2025 pm 04:06 PM

Springboot項目多數據源配置下的數據庫訪問性能問題排查本文針對一個Springboot項目中使用Atomikos進行多數據源配�...

Java項目打包成JAR後出現NoClassDefFoundError: 如何排查JDK版本兼容性問題?Java項目打包成JAR後出現NoClassDefFoundError: 如何排查JDK版本兼容性問題?Apr 19, 2025 pm 04:03 PM

Java項目打包成可執行JAR文件時遭遇NoClassDefFoundError難題很多Java開發者在將項目打包成可執行JAR文件時,可能會�...

如何分析IntelliJ IDEA的破解過程並找到負責註冊的lib或class?如何分析IntelliJ IDEA的破解過程並找到負責註冊的lib或class?Apr 19, 2025 pm 04:00 PM

關於IntelliJIDEA破解的分析方法在編程界,IntelliJ...

如何使用Java和JavaCV提升視頻質量?為什麼效果有限?如何使用Java和JavaCV提升視頻質量?為什麼效果有限?Apr 19, 2025 pm 03:57 PM

問題介紹:視頻質量提升是視頻處理中的一個重要環節,尤其是在處理低清晰度的視頻時,如何利用Java語言和�...

如何讓SpringBoot中的@RequestBody註解正確接收非JSON格式的字符串參數?如何讓SpringBoot中的@RequestBody註解正確接收非JSON格式的字符串參數?Apr 19, 2025 pm 03:54 PM

在處理SpringBoot應用中,我們經常會遇到如何正確接收請求參數的問題。特別是當參數格式不是常見的JSON時,更�...

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中