你好,游客 登录 注册 搜索
背景:
阅读新闻

了解SpringMVC框架及基本工作流程

[日期:2016-10-10] 来源:Linux社区  作者:xxzhuang [字体: ]

传统原生的JSP+Servlet在开发上过程上虽然简单明了,JSP页面传递数据到Servlet,Servlet整理数据(逻辑开发)或者从数据库提取数据接着再转发到JSP页面上,但是其似乎只能止步于此,我们都知道我们request和response都依赖于url,当我们想要通过针对围绕url进行编程的话单纯的JSP+Servlet在实现上只有过滤器Filter在抵达相对应的Servlet之前起作用,但是如果我们想要在Servlet转发或者重定向之后再进行一些工作呢?一个url对应一个Servlet,项目需求的url稍微复杂了一些,其相对应的Servlet的数量将十分庞大,诸多问题,在这里便不多讲了,而这些问题,基本都在SpringMVC中得以解决。

SpringMVC围绕着Servlet进行开发Web,代码的实现上同时也依赖Spring开发,不然也不会叫做SpringMVC,本文着重强调的重点在于SpringMVC的工作流程,并不设计具体代码开发,所以并不要求掌握Spring的知识

1.从第一点开始,请求的开始当然来源的用户访问的url,之后SpringMVC的工作正式开始,就好比一个人进城,必须要先经过城门才能进去,请求也是一样,他必须先经过一个叫做Dispatcher Servlet的前端控制器,

2.之后,你总要有工作地点吧(请求需要工作),可是不认路啊(请求需要在哪里被分析),所以你需要先去找到地图,然后在地图上找到地点,在SpringMVC中,从Dispatcher Servlet开始率先找到Handler Mapper,该组件映射找到工作点的老板(HandlerAdapter)。

3.到这里我们仅仅是知道怎么找到工作点而已,而且路径是从城门(Dispatcher Servlet前端控制器)开始的,我们按照地图(HandlerMapper组件里面的信息)的指引找到了指使我们工作的HandlerAdapter。

4.老板指使我们工作,此时我们化身为员工(Handler,也就是请求所对应的事件),我们工作的内容就控制层(也就是MVC中的C)下请求url所对应的方法,工作完成之后,我们需要提交工作数据呈现给老板看(返回ModelAndView对象给HandlerAdapter)

5.之后老板把你的工作数据贴到城门上(将ModelAndView对象返回给DispatcherServlet),再经历一番修饰后呈现给来往的商人(用户)

一个从大局上观看的基本流程大概就是如此,然而SpringMVC在具体的实现上远比这复杂许多,基本上在普通项目开发下我们在配置完SpringMVC要求配置环境后,所需要开发的地方就只有视图层和控制层,控制层里面的代码一般是有逻辑层和数据层的实现。

下面是我用思维导图制作的流程,比文字看起来直观一些。

SpringMVC+MyBatis集成配置  http://www.linuxidc.com/Linux/2016-09/135212.htm

SpringMVC总结篇  http://www.linuxidc.com/Linux/2016-06/132659.htm

Spring+SpringMVC企业快速开发架构搭建  http://www.linuxidc.com/Linux/2015-09/122942.htm

SpringMVC的乱码处理  http://www.linuxidc.com/Linux/2015-07/120542.htm

Spring MVC+Spring3+Hibernate4开发环境搭建 http://www.linuxidc.com/Linux/2013-07/87119.htm

Spring MVC整合Freemarker基于注解方式 http://www.linuxidc.com/Linux/2013-02/79660.htm

基于注解的Spring MVC简单介绍 http://www.linuxidc.com/Linux/2012-02/54896.htm

SpringMVC详细示例实战教程 http://www.linuxidc.com/Linux/2015-06/118461.htm

Spring MVC 框架搭建及详解 http://www.linuxidc.com/Linux/2012-01/52740.htm

SpringMVC 异常处理  http://www.linuxidc.com/Linux/2015-06/119049.htm

SpringMVC框架入门配置 IDEA下搭建Maven项目 http://www.linuxidc.com/Linux/2016-09/134918.htm

本文永久更新链接地址http://www.linuxidc.com/Linux/2016-10/135878.htm

linux
相关资讯       SpringMVC框架 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款