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 ,并由他返回响应给用户
springmvc系列一 之配置介绍(包含官网doc)的更多相关文章
- Beam编程系列之Python SDK Quickstart(官网的推荐步骤)
不多说,直接上干货! https://beam.apache.org/get-started/quickstart-py/ Beam编程系列之Java SDK Quickstart(官网的推荐步骤)
- Beam编程系列之Java SDK Quickstart(官网的推荐步骤)
不多说,直接上干货! https://beam.apache.org/get-started/beam-overview/ https://beam.apache.org/get-started/qu ...
- CentOS下安装和配置MySQL-JDK-Tomcat-Nginx(个人官网环境搭建手冊)
今天,又一次弄我的个人云主机的环境.准备运营自己用Java写的个人官网等站点. 服务器环境:阿里云CentOS 6.4位 包含以下脚本在内的绝大部分命令和脚本,都是我亲自运行过,靠谱的. 完整的&qu ...
- Nordic官方网络资源介绍(官网/devzone/GitHub)
本文将介绍Nordic官方网络资源,包括Nordic官网,开发者论坛(devzone),以及Nordic在GitHub上的共享资源. 1. Nordic官网(产品/SDK/工具/文档库) Nordic ...
- CentOS下安装和配置MySQL-JDK-Tomcat-Nginx(个人官网环境搭建手册)
今天,重新弄我的个人云主机的环境,准备运营自己用Java写的个人官网等网站. 服务器环境:阿里云CentOS 6.4位 包括以下脚本在内的绝大部分命令和脚本,都是我亲自执行过,靠谱的. 完整的&quo ...
- PHP环境配置-从Apache官网下载windows版apache服务器
由于个人有强迫倾向,下载软件都喜欢从官网下载,摸索了好久终于摸清楚怎么从Apache官网下载windows安装版的Apache服务器了,现在分享给大家. 进入apache服务器官网http://htt ...
- SpringMVC系列之基本配置
一.概述 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请 ...
- tkinter内嵌Matplotlib系列(一)之解读官网教材
目录 目录 前言 (一)小目标 1.首页卷面: 2.绘制一条函数曲线: 3.绘制多条曲线: (二)官方教材 1.对GUI框架的支持: 2.内嵌于tkinter的说明文档: (三)对官方教程的解读 目录 ...
- centos7 安装配置openstack-dashboard (官网openstack-juno版)
感谢朋友支持本博客.欢迎共同探讨交流.因为能力和时间有限.错误之处在所难免.欢迎指正! 假设转载.请保留作者信息. 博客地址:http://blog.csdn.net/qq_21398167 原博文地 ...
随机推荐
- [IT练习册]Python练习项目 思路
1.爬虫:爬取如下网站一年的内容. http://www.calvarymoravian.org/dailytext 2.蛇形棋: 开发一个类似蛇形棋的游戏.最好基于Web. 3.爬虫+通讯录: 从公 ...
- aspx后台引用不到服务器控件
从其他地方拷贝的页面到自己的项目,后台CS代码引用hidden时,提示找不到,百度,发现可能是网站项目和Web应用程序的区别,右键aspx转化为Web应用程序即可.
- 一个DIV相对于另一个DIV定位
<div style="position:relative"><div style="position:absolute; top:0px; left: ...
- MFC项目实战(1)文件管理器--界面设计篇
1.创建项目 文件管理器是一个基于对话框的应用程序.首先新建一个“MFC应用程序”类型的项目,然后输入新建项目的名称“FileMng”,并指定该项目保存的位置,单击“确定”按钮,如图所示. 在弹出的“ ...
- WinPE:创建 USB 可引导驱动器
https://msdn.microsoft.com/zh-cn/library/windows/hardware/dn938386(v=vs.85).aspx
- LIKIE INSTR
SELECT url FROM test_url WHERE FROM_UNIXTIME(create_time,'%Y%m%d %H') < '20171218 00' AND no ...
- 设计模式-(8)外观(swift版)
一,概念 为子系统中的一组接口提供一个统一的接口.外观模式定义了一个更高层次的接口,这个接口使得这一子系统更加容易使用. 二,结构图 (1)SubSystem子系统类:每个子系统定义了相关功能和模块的 ...
- VA市场高烧已退,逐渐降温
本周市场国产VA报价在175元/公斤左右,较上周滑落.因前期停报的厂家均已报价,个别国产厂家报价较低,各厂家间报价价差较大,彰显不同态度.国内厂家供应依然偏紧,但较前期已缓解.中小饲料企业库存偏低,近 ...
- (转)JFreeChart教程
JFreeChart教程 一.jFreeChart产生图形的流程 创建一个数据源(dataset)来包含将要在图形中显示的数据>>创建一个 JFreeChart 对象来代表要显示的图形&g ...
- python-----用多张图片生成视频
代码如下 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/2/19 16:42 # @Author : xiaodai # - ...