springMVC入門

創(chuàng)建完工程后在main下分別new兩個directory:java和resources。
在pom.xml中導入需要的依賴。
如果想使用springmvc的框架,還需要配一個前端控制器(這個前端控制器其實就是一個servlet)。要配置servlet,就要去web.xml文件

要想servlet被請求到,還需要一個servlet-mapping、

servlet的類怎么配?其實這是spring提供好的一個類,可以直接用。名稱一致,攔截的部分配成“/”表示發(fā)送的任何請求都會經(jīng)過servlet。
以上就是最基本的前端控制器配置
再接下來,作為一個sprinmvc框架,還是需要一個配置文件的

環(huán)境搭建總結(jié):新建了一個項目,補全了目錄,導入開發(fā)的jar包,導入前端控制器,最后寫了一個spring的配置文件。
然后再部署一下服務器

右上角點擊,點擊左上角加號,選擇tomcat server,輸入名字為springmvc,deploment點加號把項目的war包部署進去。
環(huán)境搭建完成,接下來開始寫代碼
需求:點擊超鏈接發(fā)送請求,后臺一個類處理請求,跳轉(zhuǎn)到成功頁面
第一步,去index.jsp界面寫代碼。要是原來的jsp沒有頭,可以刪掉,再去webapp下新建一個也叫做index的jsp頁面,就自動有頭了,且中文不會亂碼。

href里面應該有一個路徑,請求后臺的方法。jsp先寫到這,接下來就需要一個類,來寫一個方法,當點擊超鏈接,就執(zhí)行這個方法。
在java中右鍵寫一個類,

我們希望,當點擊超鏈接,就讓這個類中的hello方法執(zhí)行,想讓一個類的方法執(zhí)行,就要把這個類先變成對象,如何把它變成對象?就用spring的ioc,把類交給spring容器去管理,這時候springmvc的配置文件就起作用了。

開啟注解掃描

包選cn.itcast。這樣這個包下的controller類就會被掃描到

再去類上加注解,把類給ioc管理
現(xiàn)在對象有了,得讓這個對象的hello方法執(zhí)行,如何超鏈接一請求,方法就能執(zhí)行呢?
需要在方法上再加一個注解@RequestMapping,再在里面提供請求的路徑,以后請求/hello就是這個方法的請求路徑

注意,要想springmvc.xml配置文件被加載,要去web.xml配置
什么時候被加載呢?在web.xml的前端控制器里面去加載,讓servlet去加載springmvc配置文件



servlet對象一創(chuàng)建,則幫我們加載springmvc的配置文件,mvc文件一加載,掃描就生效。掃描一生效,controller類就被掃到,它就變成對象,注解就都會生效。一發(fā)請求,方法都會執(zhí)行了。
最后一步,如果請求成功,我們是希望跳轉(zhuǎn)到一個成功頁面的。如何配?這時候就在return null的位置,返回一個字符串

mvc框架有一個默認的規(guī)則,返回一個字符串,可以默認表示當前jsp對象的名字。所以現(xiàn)在需要提供一個叫做“success”的jsp文件,在哪里提供?去web-inf新建一個叫pages的directory。在文件夾里面new一個叫success的jsp,表示一個成功的頁面。方法執(zhí)行完,就跳轉(zhuǎn)到這個頁面,代表執(zhí)行成功了、

方法執(zhí)行完,找到這個jsp。如何去找?這時候還需要一個視圖解析器。
在springmvc里面配置



prefix代表前綴,suffix代表后綴。當返回success后,就找上面那個目錄下的,jsp文件
最后開啟springMVC框架注解的支持

最后把請求路徑加上

最后啟動服務器,成功訪問頁面
總結(jié)流程:
1,啟動服務器,加載一些配置文件
????在web.xml中配置前端控制器

本來的servlet應該是第一次發(fā)請求時被創(chuàng)建成對象,配置這個標簽后,啟動服務器后就被創(chuàng)建
故此時DispatcherServlet對象被創(chuàng)建,就會去加載springmvc.xml文件

首先注解掃描被開啟,controller類被ioc創(chuàng)建成bean對象
視圖解析器的bean類也會變成對象,可以完成跳轉(zhuǎn)頁面的功能
springMVC框架支持開啟,requestMapping的注解也會生效
2,準備發(fā)請求
