版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、一、前言:你好,Spring3 MVC是一個非常好的MVC框架,在版本3.0發(fā)行后,越來越多的團隊選擇Spring3 MVC。 Spring3 MVC結(jié)構(gòu)簡單,其語言簡單美觀,而且他不靈活,性能也很好。官方下載網(wǎng)站為/downloadStruts2也是比較優(yōu)秀的MVC框架,有很多優(yōu)點,例如良好的結(jié)構(gòu)。 然而,此處想說的是缺點,Struts2通過使用數(shù)值堆棧、OGNL方式、Struts2標簽庫等,應(yīng)用的性能降低。 Struts2的多層斷路器,多實例action的性能很好。 關(guān)于Spring MVC、Struts2和servlet比較的文章htt
2、p:/elf 8848./admin/blogs /Spring3 MVC的優(yōu)點:1、Spring3 MVC的學(xué)習(xí)難易度比Struts2低,Struts2中不能使用的多功能太多。 啊,當然,這不是決定因素。2、Spring3 MVC可以簡單地寫性能優(yōu)秀的程序,Struts2可以在任何地方小心地寫性能優(yōu)秀的程序(指MVC部分)。3、Spring3 MVC的靈活性是你無法想象的,Spring的可擴展性很好,Spring3 MVC當然也不落后,使用MVC框架不會感到任何限制。Struts2的很多優(yōu)點:有點(啊,不公平嗎? (請參見。)很多文章開頭吹牛,要吸引讀者的目光,調(diào)整讀者的食
3、欲,大家都能感興趣地向后看。 正文也不例外。 但是,我保證你看到后不會后悔。二、核心級和接口:首先,讓我們了解一些重要的接口和類。 因為不知道現(xiàn)在他們在做什么,所以先認識他們,為以后認識他們打下了基礎(chǔ)。DispatcherServlet - :前端工作裝置控制器處理程序映射接口:處理請求的映射。handler映射接口的實現(xiàn)類:simpleurlhandlerappg通過配置文件將URL映射到控制器defaultannotationhandlermapping使用注釋將URL映射到控制器類handler適配器接口-處理請求映射AnnotationMethodHandlerAdapter類通過注釋
4、將URL映射到Controller類的方法控制器界面-控制器因為使用了Controller注釋,所以添加了Controller注釋的類可以用作控制器(Action )這個接口沒有被使用.HandlerInterceptor界面-攔截器不,我們自己實現(xiàn)這個接口,完成監(jiān)聽器的工作。ViewResolver接口的實現(xiàn)類UrlBasedViewResolver類通過配置文件將視圖名稱傳遞給View進行處理InternalResourceViewResolver類比上述類增加了對JSTL的支持檢視介面。JstlView類本地解析器界面HandlerExceptionResolver接口:異常處理simp
5、lemappingexceptions實現(xiàn)類ModelAndView類沒有意圖。三、核心流程圖本圖是我個人畫的,有不謹慎的地方,大家來處理一下吧。 比總是沒見過的強。四、DispatcherServlet的說明使用Spring MVC配置DispatcherServlet是第一步。因為DispatcherServlet是servlet,所以可以配置多個DispatcherServlet。DispatcherServlet是配置在web.xml文件中的前端控制器。 監(jiān)聽匹配請求,servlet自己定義匹配規(guī)則,根據(jù)某規(guī)則將監(jiān)聽到的請求分發(fā)到目標控制器進行處理。某規(guī)則:取決于使用哪個handler
6、映射接口的實現(xiàn)類。讓我們看看第一個例子Xml代碼123 example4 org.spring framework.web.servlet.dispatcher servlet5 1678 example9 *.form1011以啟動順序啟動此Servletp容器。*.form監(jiān)聽*.form的最后一個請求。example此servlet的名稱為example,可以有多個DispatcherServlet,通過名稱來區(qū)分。 每個DispatcherServlet都有自己的WebApplicationContext上下文對象。 關(guān)于同時保存的ServletContext和Request對象中的k
7、ey,將在后面進行說明。在初始化DispatcherServlet時,框架在web應(yīng)用程序的WEB-INF文件夾下查找名為servlet-name-servlet.xml的配置文件,并生成在該文件中定義的bean。第二個示例:Xml代碼1213 springMVC14 org.spring framework.web.servlet.dispatcher servlet1516 contextConfigLocation17級路徑* :/spring MVC.XML1819 1202122 springMVC23 /24指定配置文件的文件名,并使用springMVC.xml配置文件,而不是默認
8、配置文件名。其中*.xml這里可以進行各種各樣的寫法1、不寫入,使用默認值:/WEB-INF/-servlet.xml2、/WEB-INF/classes/springMVC.xml三、等級路徑* : spring MVC-MVC.XML4、多個值用逗號分隔servlet監(jiān)聽匹配規(guī)則可以自己定義。 哪個URL適合servlet監(jiān)聽?如果映射是 request映射(“/user/add”) :1、攔截*.do,例如:/user/add.do,弊?。核械膗rl以. do結(jié)束。 對靜態(tài)文件的訪問沒有影響。2、監(jiān)聽/app/*,例如/app/user/add,弊端:請求的url中都必須包含/app,
9、 request映射(“/user/add”)中不需要包含/app。3、監(jiān)聽/,例如:/user/add,弊?。簩pg、js、css靜態(tài)文件的訪問也被監(jiān)聽并不正常顯示。 以后有解決辦法。4、可以去監(jiān)聽/*、Action,但是轉(zhuǎn)發(fā)到j(luò)sp后會再次被監(jiān)聽,無法訪問jsp。五、父母語境的說明如果使用監(jiān)聽器加載配置,則通常在Struts Spring Hibernate項目中使用監(jiān)聽器。 如下所示:Java代碼2526 org.spring framework.web.context.contextloaderlistener27Spring創(chuàng)建一個稱為根上下文的全局WebApplicationCo
10、ntext上下文并將其存儲在ServletContext中。 key是webapplicationcontext.root _ web _ application _ context _ attribute屬性的值。 您可以使用工具類簽出上下文。 webapplicationcontextutils.getwebapplicationcontext (servlet context )DispatcherServlet是一個servlet,可以同時配置多個DispatcherServlet,每個DispatcherServlet都有自己的WebApplicationContext上下文,該上下
11、文是根上下文保存在ServletContext中,key是org.spring framework.web.servlet.framework servlet.context servlet名稱。 生成Request對象后,此WebApplicationContext上下文被保存在Request對象中。 key是dispatcher servlet.class.getname () .context 。 您可以使用工具類簽出上下文。 requestcontentutils.getwebapplicationcontext (request )Spring中的應(yīng)用程序上下文實例可以限制在不同的范圍內(nèi)。在web MVC框架中,每個DispatcherServlet都有自己的WebApplicationContext,該context繼承了根WebApplicationContext的所有bean定義??梢詾閟ervet所屬的每個域復(fù)蓋繼承的bean,也可以將復(fù)蓋的bean設(shè)置為僅由該servet的實例使用的屬性
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026湖北省定向?qū)ν饨?jīng)濟貿(mào)易大學(xué)選調(diào)生招錄備考題庫附答案
- 2026湖南益陽市桃江縣中醫(yī)醫(yī)院招聘編外勞務(wù)派遣人員5人參考題庫附答案
- 2026甘肅慶陽華池縣教育事業(yè)單位引進高層次和急需緊缺人才15人備考題庫附答案
- 2026福建省面向北京交通大學(xué)選調(diào)生選拔工作備考題庫附答案
- 2026福建福州市鼓樓區(qū)司法局專職人民調(diào)解員招聘2人備考題庫附答案
- 2026西藏日喀則市亞東縣糧食公司人員招聘1人備考題庫附答案
- 2026貴州龍辰(集團)電氣有限公司招聘3人參考題庫附答案
- 2026重慶奉節(jié)縣竹園鎮(zhèn)人民政府公益崗招聘7人考試備考題庫附答案
- 2026陜西省選調(diào)生招錄考試已發(fā)布備考題庫附答案
- 2026青海西寧市湟源縣水務(wù)發(fā)展(集團)有限責(zé)任公司招聘8人參考題庫附答案
- 2025年物業(yè)管理中心工作總結(jié)及2026年工作計劃
- 創(chuàng)傷性脾破裂的護理
- 蓬深102井鉆井工程(重新報批)項目環(huán)境影響報告表
- 馬路切割承包協(xié)議書
- 大模型金融領(lǐng)域可信應(yīng)用參考框架
- (新教材)2025年人教版七年級上冊歷史期末復(fù)習(xí)??贾R點梳理復(fù)習(xí)提綱(教師版)
- 學(xué)??剌z保學(xué)工作流程及四書一表一單
- 塔吊拆除應(yīng)急預(yù)案
- 中國全色盲診療專家共識2026
- 20052-2024電力變壓器能效限定值及能效等級
- 2025年環(huán)境衛(wèi)生學(xué)與消毒滅菌效果監(jiān)測試卷(附答案)
評論
0/150
提交評論