SpringMVC是Spring中的模块,它实现了mvc设计模式,
首先用户发起请求,请求到达SpringMVC的前端控制器(DispatcherServlet),前端控制器根据用户的url请求处理器映射器查找匹配该url的handle,并返回一个执行链,前端控制器再请求处理器适配器调用相应的handle进行处理并返回给前端控制器一个modelAndView,前端控制器再请求视图解析器对返回的逻辑视图进行解析,最后前端控制器将返回的视图进行渲染,并把数据装入到request域,返回给用户。

DispatcherServlet作为SpringMVC的前端控制器,负责接收用户的请求,并根据用户的请求返回相应的视图给用户。实现业务在service层

===============================================================

DispatcherServlet是前端控制器设计模式的实现,提供Spring Web MVC的集中访问点,而且负责职责的分派,而且与Spring IoC容器无缝集成,从而可以获得Spring的所有好处。

DispatcherServlet主要用作职责调度工作,本身主要用于控制流程,主要职责如下:

1、文件上传解析,如果请求类型是multipart将通过MultipartResolver进行文件上传解析;

2、通过HandlerMapping,将请求映射到处理器(返回一个HandlerExecutionChain,它包括一个处理器、多个HandlerInterceptor拦截器);

3、通过HandlerAdapter支持多种类型的处理器(HandlerExecutionChain中的处理器);

4、通过ViewResolver解析逻辑视图名到具体视图实现;

5、本地化解析;

6、渲染具体的视图等;

7、如果执行过程中遇到异常将交给HandlerExceptionResolver来解析。
 
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<!--注册springmvc框架的核心对象DispatcherServlet(中央调度器)--> <!--
在服务器启动的时候,会找/WEB-INF/myweb-servlet.xml ,/WEB-INF/springmvc-servlet.xml
找的文件命名是: 目录是WEB-INF, 文件名称是: <servlet-name>-servlet.xml 为什么要找这个文件?
在DispatcherServlet这个Servlet的init()方法中,会创建springmvc的容器对象WebApplicationContext,
在创建容器对象时,会加载读取springmvc需要的配置文件,默认查找位置就是/WEB-INF/<servlet-name>-servlet.xml
springmvc需要的配置文件,可以单独指定的,需要配置参数contextConfigLocation. -->
<servlet>
<servlet-name>springmvc</servlet-name>
<!--前端控制器(front controller)-->
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!--指定springmvc配置文件-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<!--在服务器启动的时候,创建Servlet对象-->
<load-on-startup>1</load-on-startup>
</servlet> <servlet-mapping>
<servlet-name>springmvc</servlet-name>
<!--
<url-pattern> : 表示把请求交给指定的Servlet对象。只有把请求交给DispatcherServlet,
这样的请求才能使用springmvc框架处理。 使用DispatcherServlet接收用户的请求。
在框架中url-pattern:
1.扩展名: *.xxxx , xxxx 就是自定义的扩展名。 例如 *.do , *.action,*.mvc等等,不能使用*.jsp
2.使用斜杠"/" -->
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>

以上是一个springmvc示例的xml配置文件。需要在xml文件中注册DispatcherServlet对象

 
 
 

最新文章

  1. java如何连接testlink
  2. php 页面参数过多时自动拼接get参数的函数
  3. php_2
  4. 数据结构上机实验dfs&amp;&amp;bfs遍历图
  5. C++ (P199—P211)多态 虚函数 抽象类
  6. scheme 宏macro写法
  7. 警告:‘xxxx’ 将随后被初始化
  8. windows 不能在 本地计算机 启动 Apache
  9. Xmpp实现简单聊天系列 --- ①openfire部署
  10. RabbitMQ系列教程之六:远程过程调用(RPC)
  11. Java运行原理及内存分析
  12. 史上最全python面试题详解(四)(附带详细答案(关注、持续更新))
  13. Nginx 滑动窗口与缓冲区
  14. Python字符串与容器
  15. (windows下)安装mysql
  16. 关于MAX30100心率的编程
  17. Linux基础命令---mkisofs
  18. WebDriverAPI(4)
  19. Servlet 容器对URI的处理
  20. 在另一个文本框显示input file选择的文件名字

热门文章

  1. MySQL SQL查询优化技巧详解
  2. Pytorch-创建tensor
  3. 爬取网贷之家平台数据保存到mysql数据库
  4. Django-ORM之ForeignKey的使用-多对一关系
  5. C# Tcp协议收发数据(TCPClient发,Socket收)
  6. Duilib的多级菜单实现(网易云信版本)
  7. Diameter of Binary Tree
  8. [转帖]Unix版权史
  9. Swoft 2.0.5 更新,新增高效秒级定时任务、异常管理组件
  10. linux小白家教学&lt;一&gt;