zoukankan      html  css  js  c++  java
  • 【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

    三、基本配置

    四、重点标签介绍

  • 相关阅读:
    android studio导出apk
    Android开发入门经典实例
    L1-Day32
    L1-Day33
    L1-Day30
    Oracle中的null与空字符串''的区别
    Oracle中的job(定时任务)
    Oracle中的加解密函数
    LeetCode33题——搜索旋转排序数组
    Oracle中的DBMS_LOCK包的使用
  • 原文地址:https://www.cnblogs.com/liuxs13/p/9272355.html
Copyright © 2011-2022 走看看