1.springmvc 官网参考地址:

  https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html

2. springmvc 的介绍

   Spring Web MVC是基于Servlet API构建的原始Web框架,所以从一开始就包含在spring框架中。

3.DispatcherServlet

  springmvc像大多数web框架一样,作为一个核心的前端控制器。dispatherServlet 继承servlet 提供了分发客户端发送来的请求到相应的handler 中。这个模型平滑的支持不同的工作流。(页面请求,文件上传等);dispatcherServlet 是一个服务端应用程序,要想实现springmvc  作为控制层,则需要在web.xml 中将这个sevlet 配置进去,以便于这个servlet 使用spring 配置文件中的配置项。例如获取前端的request 请求,将携带的参数绑定到controller 中

4.web.xml  的配置

  其实这个配置很类似于struts2 的配置,都是将核心控制器配置进来,以下是基于springmvc 的配置

<web-app>

<!-- 配置监听,监听配置文件-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<!-- 将springmvc 的配置文件引入 ,这里有多中配置方式-->
<context-param>
<param-name>contextConfigLocation</param-name>
      
      <!--方式1-->
<param-value>/WEB-INF/app-context.xml</param-value>
         <!--方式2->
    <!--     <param-value>classpath:*-context.xml</param-value>   -->
    </context-param>

<!-- 将前端控制器加载进来-->
<servlet>
<servlet-name>app</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:spring-mvc.xml
</param-value>
        </init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<!-- 配置过滤的请求-->
<servlet-mapping>
<servlet-name>app</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping> </web-app>

 5. 特殊的bean

  dispatcherServlet 只是作为前端控制器,具体的业务处理将交给特定的bean 进行处理。你可以自定义或者扩展特殊的bean 处理对应的业务场景。

  A。HandlerMapping :根据客户端发送过来的request 请求,将请求映射到对应的处理器

  B。HandlerAdapter:适配器 根据客户端的请求去匹配那个适配器处理这个请求,根据具体的细节划分对应的适配器

  C。 ViewResolver :视图解析器,将controller 返回的数据封装到视图中,并寻找指定的视图进行展现

  D。MultipartResolver :富文本解析器:例如返回pdf/img/excel 等

   E。 ThemeResolver  :返回不同的主题

6.dispatcher 执行的过程

  首先dispatcher  接受用户的请求,前端控制器接受到请求之后不自己做处理,而是委托给其他解析器进行处理,dispatcher 作为统一站点进行全局的流程控制。

  handlerMapping 把从dispatcher 接收到的请求映射为HandlerExecutionChain 对象(包含一个Handler 处理器对象,多个拦截器)

  handlerAdapter 将会把处理器包装成为适配器,从而支持多种类型的处理器。之后根据适配的结果调用正真的处理器,并返回一个modelAndView 对象(包含模型数据。逻辑视图名)

  viewResolver 把逻辑视图名解析为具体的view

  view 根据传递进来的模型数据将页面进行渲染

  返回控制权给dispatcher ,并由他返回响应给用户

  

springmvc系列一 之配置介绍(包含官网doc)的更多相关文章

  1. Beam编程系列之Python SDK Quickstart(官网的推荐步骤)

    不多说,直接上干货! https://beam.apache.org/get-started/quickstart-py/ Beam编程系列之Java SDK Quickstart(官网的推荐步骤)

  2. Beam编程系列之Java SDK Quickstart(官网的推荐步骤)

    不多说,直接上干货! https://beam.apache.org/get-started/beam-overview/ https://beam.apache.org/get-started/qu ...

  3. CentOS下安装和配置MySQL-JDK-Tomcat-Nginx(个人官网环境搭建手冊)

    今天,又一次弄我的个人云主机的环境.准备运营自己用Java写的个人官网等站点. 服务器环境:阿里云CentOS 6.4位 包含以下脚本在内的绝大部分命令和脚本,都是我亲自运行过,靠谱的. 完整的&qu ...

  4. Nordic官方网络资源介绍(官网/devzone/GitHub)

    本文将介绍Nordic官方网络资源,包括Nordic官网,开发者论坛(devzone),以及Nordic在GitHub上的共享资源. 1. Nordic官网(产品/SDK/工具/文档库) Nordic ...

  5. CentOS下安装和配置MySQL-JDK-Tomcat-Nginx(个人官网环境搭建手册)

    今天,重新弄我的个人云主机的环境,准备运营自己用Java写的个人官网等网站. 服务器环境:阿里云CentOS 6.4位 包括以下脚本在内的绝大部分命令和脚本,都是我亲自执行过,靠谱的. 完整的&quo ...

  6. PHP环境配置-从Apache官网下载windows版apache服务器

    由于个人有强迫倾向,下载软件都喜欢从官网下载,摸索了好久终于摸清楚怎么从Apache官网下载windows安装版的Apache服务器了,现在分享给大家. 进入apache服务器官网http://htt ...

  7. SpringMVC系列之基本配置

    一.概述 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请 ...

  8. tkinter内嵌Matplotlib系列(一)之解读官网教材

    目录 目录 前言 (一)小目标 1.首页卷面: 2.绘制一条函数曲线: 3.绘制多条曲线: (二)官方教材 1.对GUI框架的支持: 2.内嵌于tkinter的说明文档: (三)对官方教程的解读 目录 ...

  9. centos7 安装配置openstack-dashboard (官网openstack-juno版)

    感谢朋友支持本博客.欢迎共同探讨交流.因为能力和时间有限.错误之处在所难免.欢迎指正! 假设转载.请保留作者信息. 博客地址:http://blog.csdn.net/qq_21398167 原博文地 ...

随机推荐

  1. mongodb数据出现undefined如何查询

    某些字段出现undefined,该如何查询? 如下: db.getCollection('license').find({"holder_code":{$type:"un ...

  2. id 查询

    Ids Query | Elasticsearch Reference [6.2] | Elastic http://www.elastic.co/guide/en/elasticsearch/ref ...

  3. The android gradle plugin version 2.3.0-beta2 is too old, please update to the latest version.

    编译项目的时候,报如下错误: Error:(, ) A problem occurred evaluating project ':app'. > Failed to apply plugin ...

  4. 5.2【Linux 内核网络协议栈源码剖析】socket 函数剖析 ☆☆☆

    深度剖析网络协议栈中的 socket 函数,可以说是把前面介绍的串联起来,将网络协议栈各层关联起来. 应用层 FTP SMTP HTTP ... 传输层 TCP UDP 网络层 IP ICMP ARP ...

  5. Get started with Sourcetree

    Understand the interface Bookmarks window From that window, select the Local or Remote buttons to vi ...

  6. SPFA 算法详解( 强大图解,不会都难!) (转)

    适用范围:给定的图存在负权边,这时类似Dijkstra等算法便没有了用武之地,而Bellman-Ford算法的复杂度又过高,SPFA算法便 派上用场了. 我们约定有向加权图G不存在负权回路,即最短路径 ...

  7. HDU - 2586 How far away ?(离线Tarjan算法)

    1.给定一棵树,每条边都有一定的权值,q次询问,每次询问某两点间的距离. 2.这样就可以用LCA来解,首先找到u, v 两点的lca,然后计算一下距离值就可以了. 这里的计算方法是,记下根结点到任意一 ...

  8. UICollectionView基础/UICollectionViewCell的四种创建方式

    前言 UICollectionViewCell的四种创建方式:http://blog.csdn.net/ZC_Huang/article/details/52002302 这个控件,看起来与UITab ...

  9. AutoIT: 捕捉路由器登陆的小例子

    $url2 = "AX.XXX.XXX.COM" $oIE = _IECreate ($url2, , , , ) Sleep() ControlSetText('[REGEXPT ...

  10. Velocity魔法堂系列一:入门示例(转)

    Velocity魔法堂系列一:入门示例 一.前言 Velocity作为历史悠久的模板引擎不单单可以替代JSP作为Java Web的服务端网页模板引擎,而且可以作为普通文本的模板引擎来增强服务端程序文本 ...