Spring MVC相關知識

2021-10-24 12:10:34 字數 4242 閱讀 6275

在 spring 的基本架構中,紅色圈起來的 spring web mvc ,也就是本系列的主角 springmvc,它是屬於spring基本架構裡面的乙個組成部分,屬於springframework的後續產品,已經融合在spring web flow裡面,所以我們在後期和 spring 進行整合的時候,幾乎不需要別的什麼配置。

spring+mvc=springmvc : 在spring的基礎上,對mvc思想的乙個實現,是乙個mvc框架

springmvc: 對servlet做的乙個封裝,換成controller層

相對於struts2,springmvc和spring結合的更加完美

springmvc初配置

1. 複製專案到test_shop_ssm,新增乙個jar包

spring-webmvc-4.1.0.release.jar

2.配置web.xml

<

!-- springmvc入--

>

springmvc<

/servlet-name>

<

!--springmvc分發器--

>

org.springframework.web.servlet.dispatcherservlet<

/servlet-class>

>

-servlet.xml==

>springmc-servlet.xml--

>

<

!--指定位置下的springmvc配置檔案--

!--配置乙個大於等於0的數,在伺服器啟動的時候,例項化--

>

1<

/load-on-startup>

<

/ servlet>

<

!-- url位址規則匹配*.do

-->

springmvc<

/servlet-name>

*.do<

/url-pattern>

<

只有在滿足位址字尾 .do,才會進入springmvc框架

3. 新增,配置springmvc的主配置檔案 springmvc-servlet.xml

<

!--開啟註解--

>

"com.gxy.controller"

>

<

/context:component-scan>

<

!-- mvc註解驅動--

>

k/mvc:annotation-driven>l

<

!--視**析器―相當於struts2的result--

>

"org.springframework.web.servlet.view.internalresourceviewresolver"

"prefix" value=

"/">

<

/property>

"suffix" value=

".jsp"

>

<

/property>

<

/bean>

建立controller包,建立乙個普通的類clientcontroller,新增對應註解

@controller

public class clientcontroller

修改login.jsp 的登入跳轉位址

"post" action=

"$/client/loginaction.do」id="form1">

引數收集

1. 內建物件 httpservletrequest (了解)

//使用者登入

前台的key值對應到引數值,就可以獲取到value

3. 方法物件收集 (常用)

//用屍登求

("/client/loginaction"

)public string login

(client client)

3.1 後台執行無參構造方法,建立物件

3.2 根據前台的key,呼叫對應的set/get方法完成賦值

springmvc亂碼處理

在web.xml新增spring過濾,處理所有請求位址,轉譯字元編碼utf-8

<

!-- spring提供的字元編碼過濾器–->

characterencodingfilter<

/filter-name>

org.springframework.web.filter.characterencodingfilter<

/filter-class>

encoding<

/param-name>

utf-

8<

/param-value>

<

/init-param>

<

!--響應字元編碼集--

>

forceencoding<

/param-name>

true<

/param-value>

<

/init-param>

<

/filter>

<

!--過濾所有位址請求--

>

characterencodingfilter<

/filter-name>

/*

模擬完成ssm框架下登入功能

//使用者登入

("/client/loginaction"

)public string login

(client client) throws ioexception

else i

return

"fail"

;l }

}

介面跳轉

1. 經過視**析器

根據返回的字串,到springmvc-servlet.xml配置,拼接 視**析器,組成乙個新的url,預設是**

2. 不經過視**析器,設定**

if

(11st.

s1ze()

>0)i

//**,可以攜帶引數

return

"forward: / success.jsp"

;l}

不經過視**析器,設定重定向

else i

//重定向,不可以攜帶引數

return

"redirect: /fail.jsp"

;}

request引數傳遞

1. servlet傳統api

//使用者登入

//重定向,不可以攜帶引數

關於SpringMVC相關知識點記錄

最近剛開始學springmvc框架,有很多不懂的東西,現在把不懂的搞明白的記錄一下,以備日後參考。訪問webroot目錄下的檔案,在controller控制器中直接用 名字 就可訪問,但要是把jsp檔案放在資料夾中,則需要在controller控制器中增加資料夾名 jsp檔案放在test資料夾中 以...

springmvc相關問題

1 關於 讀取不到引數的問題 spring載入時,也會把jvm system properties和jvm system env properties都讀取到容器中,所以此時讀取的是jvm系統環境變數的username,而不是.properties檔案中的username,所以導致 取不到想要的值。...

Spring mvc 配置相關

spring mvc 呼叫到controller的原理 1.tomcat解析配置檔案web.xml 2.啟動呼叫dispatcherservlet類的init 方法 load on startup 1 載入spring mvc.xml 掃瞄整個專案,根據配置檔案指定的目錄來掃瞄。掃瞄所有加了 con...