1.三層架構(gòu):表現(xiàn)層(SpringMvc),業(yè)務(wù)層(Spring),持久層(Mybatis)
所以簡(jiǎn)單來(lái)說(shuō)SpringMvc所干的事就是關(guān)于:
請(qǐng)求參數(shù)
響應(yīng)結(jié)果
2.SpringMvc是基于MVC設(shè)計(jì)模型
M:model模型 如: javaBean
V:view視圖如: jsp
C:controller控制器 如: Servlet
3.SpringMVC和struts2的異同:(面試可能會(huì)被問(wèn)道)
共同點(diǎn):
他們都是表現(xiàn)層的MVC模型框架來(lái)寫(xiě)的
他們得分底層都離不開(kāi)ServletAPI
他們處理請(qǐng)求的機(jī)制都是一個(gè)核心控制器(SpringMvc是Servlet實(shí)現(xiàn)的Struts2是Filter實(shí)現(xiàn)的)
異同點(diǎn):
SpringMVC的入口是Servlet,而Struts2是Filter(過(guò)濾器);
SpringMVC是基于方法實(shí)設(shè)計(jì)的,而struts2是基于類(lèi)來(lái)設(shè)計(jì)的,Struts2每次執(zhí)行都會(huì)去創(chuàng)建一個(gè)動(dòng)作類(lèi),所以SpringMVC效率會(huì)比Struts2快一些。
SpringMVC使用更加簡(jiǎn)潔,同時(shí)還支持JSR303,處理ajax更加方便
Struts2的OGNL表達(dá)式是頁(yè)面的開(kāi)發(fā)效率相比SpringMVC更高一些,但執(zhí)行效率并沒(méi)有比JSTL提升,尤其是Struts2的表單標(biāo)簽,遠(yuǎn)沒(méi)有html執(zhí)行效率高
1.選擇Maven工程的webapp模板,這里就不說(shuō)啦,嘻嘻,提醒一點(diǎn):
加上archetypeCatalog :internal會(huì)解決項(xiàng)目加載較慢的問(wèn)題
2.補(bǔ)全目錄:
3.導(dǎo)入依賴(lài):
UTF-8
1.8
1.8
5.1.3.RELEASE
org.springframework
spring-context
${spring.version}
org.springframework
spring-web
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.apache.tomcat
servlet-api
6.0.29
org.apache.tomcat
jsp-api
6.0.29
4.在web.xml配置前端控制器
Archetype Created Web Application
dispatcherServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:springmvc.xml
1
dispatcherServlet
/
5.創(chuàng)建一個(gè)springmvc.xml的配置文件放在resources下
6.配置tomcat,把項(xiàng)目加載進(jìn)來(lái)
鄭州婦科醫(yī)院 http://www.120zzkd.com/
我編寫(xiě)一個(gè)index.jsp頁(yè)面,當(dāng)我點(diǎn)擊標(biāo)簽的時(shí)候,我就跳轉(zhuǎn)到某個(gè)Controller的某個(gè)方法里面去執(zhí)行功能,執(zhí)行完就跳轉(zhuǎn)到success.jsp頁(yè)面
1.首先我寫(xiě)了這個(gè)Controller類(lèi)中的一個(gè)方法
2.我在index.jsp中寫(xiě)一個(gè)標(biāo)簽
入門(mén)程序
當(dāng)我點(diǎn)擊的時(shí)候跳轉(zhuǎn)到sayhello()這個(gè)方法里面
2.1
首先我要把HelloController這個(gè)類(lèi)變成一個(gè)對(duì)象啊,那我借助于spring的配置文件來(lái)進(jìn)行,在類(lèi)上加一個(gè)@Controller,此時(shí)借助于我們剛才的springmvc.xml來(lái)掃描這個(gè)包,進(jìn)而創(chuàng)建Spring容器,創(chuàng)建HelloController對(duì)象。
2.2
命名空間:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
開(kāi)啟掃描
2.3
此時(shí)你是否注意到sayhello()方法上的注解@RequestMapping("/hello")呢?
它又是什么作用呢?
它用于建立請(qǐng)求URL和處理請(qǐng)求方法之間的聯(lián)系:
有了它入門(mén)程序前端控制器就可以通過(guò)處理器映射器找到HelloController下的sayhello()方法了。
2.4
為什么你的返回值是“success”呢,我之前說(shuō)過(guò)等執(zhí)行完就可以跳轉(zhuǎn)到success.jsp,可是怎么跳轉(zhuǎn)呢?這個(gè)SpringMvc的視圖解析器就已經(jīng)幫我們解決了
在springmvc.xml中配置視圖解析器:
路徑名有了,后綴名也有了,我只需要提供一個(gè)jsp的名稱(chēng)就好了,而sayhello()方法的返回值默認(rèn)為路徑的名稱(chēng),這樣我就可以執(zhí)行完跳轉(zhuǎn)到success.jsp頁(yè)面了。
2.5
可是在我的代碼中可以看到HelloController這個(gè)類(lèi)上也有@RequestMapping(path = “/user”),難道類(lèi)上也可以加這個(gè)注解???
YES!在類(lèi)上加注解就相當(dāng)于一級(jí)路徑,所以jsp中的訪問(wèn)路徑:
入門(mén)程序
2.6
SpringMvc框架就是各個(gè)組件構(gòu)成的,這樣更加靈活。
SpringMvc的各個(gè)組件中,處理器映射器,處理器適配器,視圖解析器稱(chēng)為SpringMvc的三大組件,上一張老師的圖吧
但是從這張圖中我們可以看出來(lái),還有其他的組件在發(fā)揮作用了呀,
當(dāng)才視圖適配器就進(jìn)行配置,讓起生效,為什么不配置處理映射器和處理器適配器呀?
上代碼,hhhhhhhhhhhhhhh
是開(kāi)啟SpringMvc的注解配置,它默認(rèn)為映射器,適配器進(jìn)行了配置,也就是說(shuō)這行代碼讓映射器,適配器也生效了。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
新聞名稱(chēng):SpringMvc的簡(jiǎn)單入門(mén)-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://chinadenli.net/article6/dhgpig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)、外貿(mào)建站、網(wǎng)站改版、微信小程序、服務(wù)器托管、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容