Spring MVC框架原理與開發(fā)

一、學習指南

1.基礎知識:

1)什么是springMVC;
2)springMVC框架原理(掌握);
3)springMVC入門程序;

  • a.非注解的處理器映射器,非注解的處理器適配器;
  • b.注解的處理器映射器,注解的處理器適配器;
  • 目的:學習前段控制器,處理器映射器,處理器適配器,視圖解析器;

4)springMVC與Mybatis整合(掌握);
5)springMVC注解開發(fā):

  • 常用的注解學習;
  • 參數(shù)綁定(簡單類型,pojo,集合類型);
  • 自定義參數(shù)綁定(掌握)(CTO常設計);

6)springMVC與struts2的區(qū)別;

2.高級應用:

1)參數(shù)綁定(集合類型);
2)數(shù)據(jù)回顯;
3)上傳圖片;
4)json數(shù)據(jù)交互;
5)RESTful支持;
6)攔截器;

二、springMVC框架:

1.什么是springMVC:

springMVC是spring框架的一個模塊,springMVC和spring無需中間整合層進行整合;
springMVC是一個基于MVC的web框架;

2.什么是MVC:

MVC是一個設計模式,為了更好把系統(tǒng)框架框架維護擴展;
MVC在b/s系統(tǒng)的應用:


MVC原理圖

3.springMVC框架:

springMVC框架原理圖

三、程序開發(fā):

1.配置前端控制器:(web.xml)

<!--配置springMVC的dispatcherServlet-->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--contextConfigLocation配置springMVC加載的配置文件,
        如果不配置contextConfigLocation,默認加載的是/WEB-INF/servletname-servlet.xml(springmvc-servlet.xml)-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springMVC-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    <!--配置參數(shù):
    1)*.action,訪問以.action結尾由DispatcherServlet進行解析;
    2)/,所有訪問的地址都由DispatcherServlet進行解析,對于靜態(tài)文件的解析需要配置不讓DispatcherServlet解析,使用此種方式可以實現(xiàn)RESTful風格的url;
    3)/*,此種配置錯誤;-->

2.配置注解的處理器適配器與處理器映射器:(springmvc.xml)

  • 不常用:
    <!--注解映射器 -->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
    <!--注解適配器 -->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
  • 實際開發(fā)時使用
    <!-- 使用 mvc:annotation-driven代替上邊注解映射器和注解適配器配置
    mvc:annotation-driven默認加載很多的參數(shù)綁定方法,
    比如json轉換解析器就默認加載了,如果使用mvc:annotation-driven不用配置上邊的RequestMappingHandlerMapping和RequestMappingHandlerAdapter-->
 <mvc:annotation-driven></mvc:annotation-driven> 

3.開發(fā)Handler:

實現(xiàn)Controller接口;
在controller中需要在類前添加注解@Controller (標識讓容器管理創(chuàng)建對象)和在要處理url請求的方法前添加@Requestmapping("/requestURL");

4.視圖編寫

jsp文件,html文件等前端界面;

5.配置Handler:(springmvc.xml)

對于注解的Handler可以進行單個配置,實際開發(fā)中建議使用組件掃描。
1)單個配置:

    <bean class="com.honey.ssm.controller.TestController"/>

2)組件掃描:(可以掃描controller,service等)

    <context:component-scan base-package="com.honey.ssm.controller"></context:component-scan>

6.配置視圖解析器:(springmvc.xml)

  • jsp解析器:
<!-- 視圖解析器這里配置前綴為jsp,vm所在的路徑,后綴配置為jsp,vm,
所以在Controller中返回的時候只需要進行返回文件的名稱就可以了,視圖解析器會找到該名稱的文件進行渲染 -->
    <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- 配置jsp路徑的前綴 -->
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <!-- 配置jsp路徑的后綴 -->
        <property name="suffix" value=".jsp"/>
    </bean>
  • html解析器:
<!-- html視圖解析器 必須先配置freemarkerConfig,注意html是沒有prefix前綴屬性的-->
    <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">  
        <property name="templateLoaderPath">  
            <value>/WEB-INF/view/html</value>  
        </property>  
    </bean>  
     <bean id="htmlviewResolver"  
        class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">  
        <property name="suffix" value=".html" /> 
        <property name="contentType" value="text/html;charset=UTF-8"></property>         
    </bean>

詳見:https://blog.csdn.net/superdog007/article/details/56488550

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容