• 【Spring框架】 ☞ SpringMVC


    一、介绍

      1、什么是MVC框架?

        MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

      2、与Spring的区别联系?

        简单来讲,就是说SpringMVC是SpringFramework的后续产品,Spring框架提供了构建Web的全功能MVC模块。类似于Spring框架的IOC、AOP模块一样。

     

    二、实现原理

     
    1、Servlet作为Java Web应用的基础
     
    例如应用程序在tomcat上运行,由于Tomcat是一个Servlet容器,因此发送给Tomcat Web服务器的每个HTTP请求自然都由Java Servlet处理。所有Spring Web应用程序入口点是一个Servlet。
     
    简单讲,Servlet是任何Java Web应用的核心组件;它是低层次的,不会像MVC那样在特定编程模式中诸多要求。
     
     一个HTTP Servlet只能接受一个HTTP请求,以某种形式处理,然后返回一个响应。
     
        另:什么是Servlet?
            Servlet是服务连接器,简单讲就是java程序实现了Servlet接口,且再web.xml的<servlet>中注册且在<url-pattern>中定义请求地址的。
            作为对比,封装过的Spring Controller,则需导入spring-webmvc、spring-context,在web.xml注册DispatcherServlet,同时在spring配置文件中自动扫描指定目录,即可在java文件中用@controller和@requestMapping定义使用。
     
    2、DispatcherServlet是SpringMVC的核心
     
    DispatcherServlet能够提供:①将HTTP映射到某个处理方法 ②将HTTP请求数据和标题解析成数据传输对象(DTO)或域对象
                                               ③模型-视图-控制器继承 ④从DTO或域对象等生成响应
     
    DispatcherServlet作为SpringMVC核心,支持接受所有请求到应用程序,且允许你插入不同的现有或新的适配器进行大量的任务。
    具体任务实现:①将请求映射到应该处理它的类或方法(HandlerMapping接口的实现)
                           ②使用特定模式处理请求,如常规servlet,更复杂的MVC工作流,或POJO bean中的方法(HandlerAdapter接口的实现)
                           ③按名称解析视图,允许使用不同的模板引擎,XML,XSLT或者其他视图技术(ViewResolver接口的实现)
                           ④通过使用默认的Apache Common文件上传实现或编写自己的MultipartResolver来解析多部分请求
                           ⑤使用任何LocalResolver实现解决语言环境,包括cookie,会话,Accept HTTP头等。
     
    3、处理HTTP请求
     
    我们将简单的HTTP请求的处理追踪到在控制器层中的一个方法,然后返回到浏览器/客户端。
     
    DispatcherServlet继承结构层次:DispatcherServlet -> FrameworkServlet -> HttpServletBean -> HttpServlet -> GenericServlet

    三、基本配置

    四、重点标签介绍

  • 相关阅读:
    Atitit. visual studio vs2003 vs2005 vs2008  VS2010 vs2012 vs2015新特性 新功能.doc
    Atitit. C#.net clr 2.0  4.0新特性
    Atitit. C#.net clr 2.0  4.0新特性
    Atitit.通过null 参数 反射  动态反推方法调用
    Atitit.通过null 参数 反射  动态反推方法调用
    Atitit..net clr il指令集 以及指令分类  与指令详细说明
    Atitit..net clr il指令集 以及指令分类  与指令详细说明
    Atitit.变量的定义 获取 储存 物理结构 基本类型简化 隐式转换 类型推导 与底层原理 attilaxDSL
    Atitit.变量的定义 获取 储存 物理结构 基本类型简化 隐式转换 类型推导 与底层原理 attilaxDSL
    Atitit.跨语言反射api 兼容性提升与增强 java c#。Net  php  js
  • 原文地址:https://www.cnblogs.com/liuxs13/p/9272355.html
Copyright © 2020-2023  润新知