最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

SpringMVC由淺入深實(shí)用教程-初識(shí)SpringMVC

2021-03-17 17:17 作者:動(dòng)力節(jié)點(diǎn)小王本王  | 我要投稿



SpringMVC?簡(jiǎn)介

SpringMVC 也叫 Spring web mvc。是 Spring 框架的一部分,是在Spring3.0 后發(fā)布的。

SpringMVC?優(yōu)點(diǎn)

1.?基于MVC?架構(gòu)

基于 MVC 架構(gòu),功能分工明確。解耦合,

2.?容易理解,上手快;使用簡(jiǎn)單。

就可以開(kāi)發(fā)一個(gè)注解的 SpringMVC?項(xiàng)目,SpringMVC?也是輕量級(jí)的, jar 很小。不依賴的特定的接口和類。

3.?作為Spring?框架一部分,能夠使用Spring?的IoC?和Aop。方便整合Strtus,MyBatis,Hiberate,JPA?等其他框架。

4.?SpringMVC?強(qiáng)化注解的使用,在控制器,Service,Dao?都可以使用注解。方便靈活。

使用@Controller 創(chuàng)建處理器對(duì)象,@Service 創(chuàng)建業(yè)務(wù)對(duì)象,

@Autowired?或者@Resource?在控制器類注入?Service, Service?類中注Dao。

?

第一個(gè)注解的 SpringMVC?程序

所謂 SpringMVC 的注解式開(kāi)發(fā)是指,在代碼中通過(guò)對(duì)類與方法的注解, 便可完成處理器在springmvc 容器的注冊(cè)。注解式開(kāi)發(fā)是重點(diǎn)。

項(xiàng)目:primary-annotation

完成功能:用戶提交一個(gè)請(qǐng)求,服務(wù)端處理器在接收到這個(gè)請(qǐng)求后,給出一條歡迎信息,在響應(yīng)頁(yè)面中顯示該信息。

新建maven?web?項(xiàng)目

pom.xml

在創(chuàng)建好web 項(xiàng)目后,加入 Servlet 依賴,SpringMVC 依賴

依賴:

插件:

注冊(cè)中央調(diào)度器

(1)?全限定性類名

該中央調(diào)度器為一個(gè) Servlet,名稱為 DispatcherServlet。中央調(diào)度器的全限定性類名在導(dǎo)入的Jar?文件spring-webmvc-5.2.5.RELEASE.jar?的第一個(gè)org.springframework.web.servlet?下可找到。

(2)?<load-on-startup/>

在<servlet/>中添加<load-on-startup/>的作用是,標(biāo)記是否在Web?服務(wù)器(這里是 Tomcat)啟動(dòng)時(shí)會(huì)創(chuàng)建這個(gè) Servlet?實(shí)例,即是否在Web?服務(wù)器啟動(dòng)時(shí)調(diào)用執(zhí)行該 Servlet?的 init()方法,而不是在真正訪問(wèn)時(shí)才創(chuàng)建。

它的值必須是一個(gè)整數(shù)。

  • 當(dāng)值大于等于 0 時(shí),表示容器在啟動(dòng)時(shí)就加載并初始化這個(gè) servlet,數(shù)值越小,該Servlet?的優(yōu)先級(jí)就越高,其被創(chuàng)建的也就越早;

  • 當(dāng)值小于 0?或者沒(méi)有指定時(shí),則表示該 Servlet?在真正被使用時(shí)才會(huì)去創(chuàng)建。

  • 當(dāng)值相同時(shí),容器會(huì)自己選擇創(chuàng)建順序。

(3)?<url-pattern/>

對(duì)于<url-pattern/>,可以寫為 / ,建議寫為*.do 的形式。

(4)?配置文件位置與名稱

?注冊(cè)完畢后,可直接在服務(wù)器上發(fā)布運(yùn)行。此時(shí),訪問(wèn)瀏覽器頁(yè)面,控制臺(tái)均會(huì)拋出FileNotFoundException?異常。即默認(rèn)要從項(xiàng)目根下的WEB-INF 目錄下找名稱為 Servlet?名稱-servlet.xml 的配置文件。這里的“Servlet?名 稱”指的是注冊(cè)中央調(diào)度器<servlet-name/>標(biāo)簽中指定的 Servlet?的name 值。本例配置文件名為springmvc-servlet.xml。

而一般情況下,配置文件是放在類路徑下,即resources?目錄下。所以, 在注冊(cè)中央調(diào)度器時(shí),還需要為中央調(diào)度器設(shè)置查找 SpringMVC?配置文件路徑,及文件名。

打開(kāi)DispatcherServlet 的源碼,其繼承自FrameworkServlet,而該類中有一個(gè)屬性 contextConfigLocation,用于設(shè)置 SpringMVC 配置文件的路徑及文件名。該初始化參數(shù)的屬性就來(lái)自于這里。

創(chuàng)建SpringMVC?配置文件

在工程的類路徑即src 目錄下創(chuàng)建 SpringMVC 的配置文件springmvc.xml。該文件名可以任意命名。

創(chuàng)建處理器

在類上與方法上添加相應(yīng)注解即可。@Controller:表示當(dāng)前類為處理器

@RequestMapping:表示當(dāng)前方法為處理器方法。該方法要對(duì) value 屬性所指定的URI 進(jìn)行處理與響應(yīng)。被注解的方法的方法名可以隨意。

若有多個(gè)請(qǐng)求路徑均可匹配該處理器方法的執(zhí)行,則@RequestMapping value?屬性中可以寫上一個(gè)數(shù)組。

ModelAndView 類中的addObject()方法用于向其 Model 中添加數(shù)據(jù)。Model 的底層為一個(gè)HashMap。

Model 中的數(shù)據(jù)存儲(chǔ)在 request 作用域中,SringMVC 默認(rèn)采用轉(zhuǎn)發(fā)的方式跳轉(zhuǎn)到視圖,本次請(qǐng)求結(jié)束,模型中的數(shù)據(jù)被銷毀。

聲明組件掃描器

springmvc.xml?中注冊(cè)組件掃描器

定義目標(biāo)頁(yè)面

webapp 目錄下新建一個(gè)子目錄jsp,在其中新建一個(gè)jsp?頁(yè)面show.jsp

修改視圖解析器的注冊(cè)

SpringMVC 框架為了避免對(duì)于請(qǐng)求資源路徑與擴(kuò)展名上的冗余,在視圖解析器InternalResouceViewResolver 中引入了請(qǐng)求的前輟與后輟。而ModelAndView 中只需給出要跳轉(zhuǎn)頁(yè)面的文件名即可,對(duì)于具體的文件路徑與文件擴(kuò)展名,視圖解析器會(huì)自動(dòng)完成拼接。

show.jsp?文件放到 /WEB-INF/jsp/路徑中

修改處理器

使用邏輯視圖名稱,show 是邏輯視圖名稱。

使用SpringMVC?框架 web?請(qǐng)求處理順序

SpringMVC?的 MVC?組件

SpringMVC?執(zhí)行流程

流程圖

執(zhí)行流程簡(jiǎn)單分析

(1)?瀏覽器提交請(qǐng)求到中央調(diào)度器

(2)?中央調(diào)度器直接將請(qǐng)求轉(zhuǎn)給處理器映射器。

(3)?處理器映射器會(huì)根據(jù)請(qǐng)求,找到處理該請(qǐng)求的處理器,并將其封裝為處理器執(zhí)行鏈后返回給中央調(diào)度器。

(4)?中央調(diào)度器根據(jù)處理器執(zhí)行鏈中的處理器,找到能夠執(zhí)行該處理器的處理器適配器。

(5)?處理器適配器調(diào)用執(zhí)行處理器。

(6)?處理器將處理結(jié)果及要跳轉(zhuǎn)的視圖封裝到一個(gè)對(duì)象 ModelAndView?中,并將其返回給處理器適配器。

(7)?處理器適配器直接將結(jié)果返回給中央調(diào)度器。

(8)?中央調(diào)度器調(diào)用視圖解析器,將 ModelAndView?中的視圖名稱封裝為視圖對(duì)象。

(9)?視圖解析器將封裝了的視圖對(duì)象返回給中央調(diào)度器

(10)?中央調(diào)度器調(diào)用視圖對(duì)象,讓其自己進(jìn)行渲染,即進(jìn)行數(shù)據(jù)填充,形成響應(yīng)對(duì)象。

(11)?中央調(diào)度器響應(yīng)瀏覽器。


最后奉上視頻教程??,視頻觀看效果更佳??!走過(guò)路過(guò)別忘素質(zhì)三連哦~~



SpringMVC由淺入深實(shí)用教程-初識(shí)SpringMVC的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
峨山| 景德镇市| 库车县| 松潘县| 巴南区| 英德市| 吴川市| 封丘县| 葫芦岛市| 宜阳县| 永安市| 东海县| 曲沃县| 庄浪县| 古丈县| 通州市| 江华| 安乡县| 沭阳县| 南投市| 株洲市| 新巴尔虎右旗| 永靖县| 上林县| 高邮市| 渭南市| 南昌市| 张掖市| 绩溪县| 马关县| 靖江市| 松溪县| 尼木县| 宜春市| 柞水县| 涟水县| 乌兰察布市| 峨眉山市| 千阳县| 冀州市| 文成县|