springmvc系列一 之配置介绍(包含官网doc)

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 ,并由他返回响应给用户

  

原文地址:https://www.cnblogs.com/blogxiao/p/8306794.html

时间: 2024-10-03 01:28:14

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

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

不多说,直接上干货! https://beam.apache.org/get-started/beam-overview/ https://beam.apache.org/get-started/quickstart-java/ Apache Beam Java SDK Quickstart This Quickstart will walk you through executing your first Beam pipeline to run WordCount, written usin

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

今天,又一次弄我的个人云主机的环境.准备运营自己用Java写的个人官网等站点. 服务器环境:阿里云CentOS 6.4位 包含以下脚本在内的绝大部分命令和脚本,都是我亲自运行过,靠谱的. 完整的"运营运维"经验,请參考我的CSDN博客-运营运维 分类:http://blog.csdn.net/FansUnion/article/category/1714547 1.mysql 1.1 安装mysql yum install mysql-server 1.2 启动mysql,服务名字是&

Openstack安装部署指南翻译系列 之 说明(Pike版本官网翻译)

从部署实践来看,部署工作有两大困难,一个是架构设计,一个是排查错误.其中,当部署过程中出现错误,需要排查的时候,如果不了解基础的系统结构原理和基础的安装步骤,是很难定位和解决问题的. 现在Openstack的部署有很多可选项,主要有: 1)根据社区官网最基础的安装文档根据设计对每一个service组件进行安装,这种安装方式最基础,全手工: 2)使用Mirantis公司的Fuel工具进行部署.这种部署方式非常高效,界面友好,Fuel工具真正实现了一键部署,只要设计好网络和功能节点分布,一键部署完成

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

今天,重新弄我的个人云主机的环境,准备运营自己用Java写的个人官网等网站. 服务器环境:阿里云CentOS 6.4位 包括以下脚本在内的绝大部分命令和脚本,都是我亲自执行过,靠谱的. 完整的"运营运维"经验,请参考我的CSDN博客-运营运维 分类:http://blog.csdn.net/FansUnion/article/category/1714547 1.mysql 1.1 安装mysql yum install mysql-server 1.2 启动mysql,服务名字是&q

转载:SpringMVC系列之基本配置

一.概述 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型. 1.什么是MVC? 模型-视图-控制器(MVC)是一个以设计界面应用程序为基础的设计模式.它主要通过分离模型.视图及控制器在应用程序中的角色将业务逻辑从界面中解耦. 通常,模型负责封装应用程序数据在视图层展示.视图仅仅只是展示这些数据,不包含任何业务逻辑.控制器负责接收来自用户的请求

HDFS HA与QJM(Quorum Journal Manager)介绍及官网内容整理

问题导读 1.HDFS HA与QJM解决了什么问题? 2.HDFS HA与QJM区别是什么? 3.在HA(两个namenode)架构下,如何访问hdfs文件? [使用QJM构建HDFS HA架构(2.2+)] 本文主要介绍HDFS HA特性,以及如何使用QJM(Quorum Journal Manager)特性实现HDFS HA. 一.背景 HDFS集群中只有一个Namenode,这就会引入单点问题:即如果Namenode故障,那么这个集群将不可用,直到Namenode重启或者其他Namenod

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

System requirements Before you install theOpenStack dashboard, you must meet the following system require-ments: ? OpenStack Compute installation.Enable the Identity Service for user and project man-agement. Note the URLs of the IdentityService and C

centos7 安装配置openstack-ceilometer (官网openstack-juno版)

Before you install andconfigure Telemetry, you must install MongoDB, create a MongoDB database, andcreate Identity service credentials including endpoints. 1.       Install the MongoDBpackage: #   yum install mongodb-server mongodb 2.       Edit the

TensorFlow介绍(官网资料)

关于 TensorFlow TensorFlow? 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库.节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor).它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等.TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度