開發Spring MVC應用過程總結

第一步:在web.xml文件中定義前端控制器

(front controller)DispatcherServlet來攔截用戶請求,在web.xml文件中配置(文件配置核心部分)以下:
<!-- 定義前端控制器--->前端

<servlet>web

<servlet-name>springmvc</servlet-name>  <servleclass>org.springframework.web.servlet.DispatcherServlet</servletclass>
    <init-param>
         <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/springmvc-config.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>

</servlet>spring

<!-- 讓spring MVC的前端控制器攔截全部請求 -->服務器

<servlet-mapping>
                <servlet-name>springmvc</servlet-name>
                <url-pattern>/</url-pattern>
      </servlet-mapping>

若是須要一post方式提交請求,則定義包含表單數據的JSP頁面,若是僅僅是以get方式提交請求則無需通過這一步mvc

第二步:定義處理用戶請求的Handle1類

,能夠實現Controller類或者使用@Controller註解
配置Handle
在spring MVC配置文件中配置handle
在spring2.5以前採用注入方式來配置handle,舉例以下:
<bean name="/pathname" class="the path of the handleclass"/>
在spring2.5以後推薦使用註解來配置handle,舉例以下:app

<context:component-scan base-package="org.fkit.controller"/><.context>    
 <beanclass="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>   <beanclass="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>     <beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"/>

下面來說解一下spring--MVC請求響應的完整過程以下:

【1】用戶向服務器發送請求,請求被spring的前端控制器DispatchServlet攔截下來post

【2】DispatchServlet對請求的URL進行解析,獲得URI,根據該URI,調用HandlerMapping得到該handler配置的全部相關對象,包括handler對象以及handler對象對應的攔截器url

【3】DispatchServlet根據得到的handler,選擇一個合適的handlerAdapter,HandlerAdapter會調用handler實際處理請求的方法spa

【4】提取請求的模型數據code

【5】Handler執行完成後,向DispatchServlet返回一個ModelAndView對象

【6】根據ModelAndView對象,選擇一個合適的ViewResolver

【7】ViewResolver結合model和View來渲染視圖

【8】將視圖渲染結果返回給客戶端

相關文章
相關標籤/搜索