SpringMVC總結

MVC簡介

Model-View-Control,MVC是一種架構模式,用於將數據-視圖-邏輯分離html

SpringMVC中基本概念

DispatcherServlet 就是一種特殊的Servlet,servlet實際上就是用來處理網站資源與請求的.使用HandlerAdapter調用controllerweb

HandlerAdapter 掌握controller的關係,實際上調用controller
HandlerMapping url和controller之間的對應關係spring

Controller 實際業務類,關心邏輯實現架構

HandlerInterceptor 攔截器,能夠在controller運行以前攔截參數,進行相關的操做mvc

ModelAndView Model具體表現
ViewResolver 資源與視圖的對應關係app

HandlerExecutionChain 調用過程
一次SpringMVC訪問過程
request --> Dispatcher... --> HandlerMapping --> Controller -->Handler -->ModelAndView --> ViewResolver -- >View -->response框架

配置Meaven環境,略過不說Hpost

SpringMVC的配置

1:配置DispatcherServlet網站

<servlet> <servlet-name>mvc-dispatcher</servlet-name> <!-- springmvc要用到的dispatcherservlet的配置--> <servlet-class> org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- DispatcherServlet對應的上下文配置, 默認爲/WEB-INF/$servlet-name$-servlet.xml --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:mvc-dispatcher-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>

2:配置servlet-mapping,肯定哪些連接將被該servlet處理ui

<servlet-mapping> <servlet-name>mvc-dispatcher</servlet-name> <!-- mvc-dispatcher攔截全部的請求--> <url-pattern>/</url-pattern> </servlet-mapping>



3:配置dispatcherservlet須要的配置(在上面contextConfigLocation中配置的文件)

  • 配置基於註解的掃描:<context:annotation-config/> 用來支持註解bean管理,好比@Required,@Autowired
  • 配置默認掃描包:<context:component-scan base-package>
  • 配置驅動註解<mvc:annotion-driven> 支持MVC相關注解解析,例如@RequetMapping,@Controller等
  • 配置ViewResolver,用來映射返回結果與視圖的關係,建立多個viewResolver對應不一樣的返回類型

4:建立相應的Controller,在controler的類上加上@Controlloer註解和RequestMapping,在相應的方法上加上requestMapping指定對應的htmlurl映射,能夠對路徑參數用@PathVariable註解綁定參數.

5:建立view,並使controller的返回結果可以經過viewResolver訪問到對應的view.

以上是關於一個Spring MVC的基本框架

如下爲擴展內容

1:數據綁定.
經過post方式,在requestmapping中,指定method爲post
直接指定方法的參數,SpringMVC會建立對象經過參數傳進來.

2:SpringMVC的文件上傳:Spring提供了方便的文件上傳的組件.

3:使用JSON

    • 配置viewResolver
    • 加入Jackson jar包
    • 使controller返回相應對象,在對象的位置加上@RequestBody註解(也可返回RequestEntity 這樣的對象,不須要註解,spring自動轉換.)
相關文章
相關標籤/搜索