美文网首页
Spring MVC框架原理与开发

Spring MVC框架原理与开发

作者: 静宸丶水默含声 | 来源:发表于2018-08-28 10:41 被阅读46次

    一、学习指南

    1.基础知识:

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

    • a.非注解的处理器映射器,非注解的处理器适配器;
    • b.注解的处理器映射器,注解的处理器适配器;
    • 目的:学习前段控制器,处理器映射器,处理器适配器,视图解析器;

    4)springMVC与Mybatis整合(掌握);
    5)springMVC注解开发:

    • 常用的注解学习;
    • 参数绑定(简单类型,pojo,集合类型);
    • 自定义参数绑定(掌握)(CTO常设计);

    6)springMVC与struts2的区别;

    2.高级应用:

    1)参数绑定(集合类型);
    2)数据回显;
    3)上传图片;
    4)json数据交互;
    5)RESTful支持;
    6)拦截器;

    二、springMVC框架:

    1.什么是springMVC:

    springMVC是spring框架的一个模块,springMVC和spring无需中间整合层进行整合;
    springMVC是一个基于MVC的web框架;

    2.什么是MVC:

    MVC是一个设计模式,为了更好把系统框架框架维护扩展;
    MVC在b/s系统的应用:


    MVC原理图

    3.springMVC框架:

    springMVC框架原理图

    三、程序开发:

    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>
        <!--配置参数:
        1)*.action,访问以.action结尾由DispatcherServlet进行解析;
        2)/,所有访问的地址都由DispatcherServlet进行解析,对于静态文件的解析需要配置不让DispatcherServlet解析,使用此种方式可以实现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"/>
    
    • 实际开发时使用
        <!-- 使用 mvc:annotation-driven代替上边注解映射器和注解适配器配置
        mvc:annotation-driven默认加载很多的参数绑定方法,
        比如json转换解析器就默认加载了,如果使用mvc:annotation-driven不用配置上边的RequestMappingHandlerMapping和RequestMappingHandlerAdapter-->
     <mvc:annotation-driven></mvc:annotation-driven> 
    

    3.开发Handler:

    实现Controller接口;
    在controller中需要在类前添加注解@Controller (标识让容器管理创建对象)和在要处理url请求的方法前添加@Requestmapping("/requestURL");

    4.视图编写

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

    5.配置Handler:(springmvc.xml)

    对于注解的Handler可以进行单个配置,实际开发中建议使用组件扫描。
    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

    相关文章

      网友评论

          本文标题:Spring MVC框架原理与开发

          本文链接:https://www.haomeiwen.com/subject/ozffwftx.html