在 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...