springMVC是什么
SpringMVC 是類似于 Struts2 的一個(gè) MVC 框架,它是屬于Spring基本架構(gòu)里面的一個(gè)組成部分,屬于SpringFrameWork的后續(xù)產(chǎn)品,已經(jīng)融合在Spring Web Flow里面,所以我們?cè)诤笃诤?Spring 進(jìn)行整合的時(shí)候,幾乎不需要?jiǎng)e的什么配置。
spring web MVC 等價(jià)于springMVC
spring源碼-包含springmvc
springMVC有什么用
?1、清晰的角色劃分:控制器(controller)、驗(yàn)證器(validator)、命令對(duì)象(command obect)、表單對(duì)象(form object)、模型對(duì)象(model object)、Servlet分發(fā)器(DispatcherServlet)、處理器映射(handler mapping)、試圖解析器(view resoler)等等。每一個(gè)角色都可以由一個(gè)專門(mén)的對(duì)象來(lái)實(shí)現(xiàn)。
2、強(qiáng)大而直接的配置方式:將框架類和應(yīng)用程序類都能作為JavaBean配置,支持跨多個(gè)context的引用,例如,在web控制器中對(duì)業(yè)務(wù)對(duì)象和驗(yàn)證器validator)的引用。
3、可適配、非侵入:可以根據(jù)不同的應(yīng)用場(chǎng)景,選擇何事的控制器子類(simple型、command型、from型、wizard型、multi-action型或者自定義),而不是一個(gè)單一控制器(比如Action/ActionForm)繼承。
4、可重用的業(yè)務(wù)代碼:可以使用現(xiàn)有的業(yè)務(wù)對(duì)象作為命令或表單對(duì)象,而不需要去擴(kuò)展某個(gè)特定框架的基類。
5、可定制的綁定(binding)和驗(yàn)證(validation):比如將類型不匹配作為應(yīng)用級(jí)的驗(yàn)證錯(cuò)誤,這可以保證錯(cuò)誤的值。再比如本地化的日期和數(shù)字綁定等等。在其他某些框架中,你只能使用字符串表單對(duì)象,需要手動(dòng)解析它并轉(zhuǎn)換到業(yè)務(wù)對(duì)象。
6、可定制的handler mapping和view resolution:Spring提供從最簡(jiǎn)單的URL映射,到復(fù)雜的、專用的定制策略。與某些web MVC框架強(qiáng)制開(kāi)發(fā)人員使用單一特定技術(shù)相比,Spring顯得更加靈活。
7、靈活的model轉(zhuǎn)換:在Springweb框架中,使用基于Map的鍵/值對(duì)來(lái)達(dá)到輕易的與各種視圖技術(shù)集成。
8、Spring Bean的生命周期可以被限制在當(dāng)前的HTTp Request或者HTTp Session。準(zhǔn)確的說(shuō),這并非Spring MVC框架本身特性,而應(yīng)歸屬于Spring MVC使用的WebApplicationContext容器。
???
Controller-編碼過(guò)濾器
如果沒(méi)有設(shè)置編碼處理,那Controller獲取的中文入?yún)?,就?huì)出現(xiàn)亂碼!出現(xiàn)亂碼!出現(xiàn)亂碼!
解決方案:
第1步、在web.xml設(shè)置過(guò)濾編碼器。
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<!--強(qiáng)制覆蓋之前的編碼格式-->
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
第2步:
用idea tomcat插件時(shí):設(shè)置編碼
<uriEncoding>UTF-8</uriEncoding>
如果是tomcat 服務(wù)器,請(qǐng)到tomcat服務(wù)下 confserver.xml設(shè)置編碼
<Connector
port="9002" protocol="org.apache.coyote.http11.Http11Protocol"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
設(shè)置后的效果:
?今天的springMVC就介紹到這里,再見(jiàn)。
本文摘自 :https://blog.51cto.com/u