『互联网架构』软件架构-spring源码之spring MVC(上)(12)

栏目: Java · 发布时间: 6年前

内容简介:spring MVC从2014年开始流行,基本工作上都用过,一起在熟悉和深入了解下。源码:https://github.com/limingios/netFuture/blob/master/仿springmvc/tl0920MVC其实就是一种设计模式,三层架构:视图,模型,控制。J2EE开发的模式,例如servlet来说绝对是简洁。

spring MVC从2014年开始流行,基本工作上都用过,一起在熟悉和深入了解下。源码:https://github.com/limingios/netFuture/blob/master/仿springmvc/tl0920

『互联网架构』软件架构-spring源码之spring MVC(上)(12)

Spring MVC

简洁的一个web开关

MVC其实就是一种设计模式,三层架构:视图,模型,控制。J2EE开发的模式,例如servlet来说绝对是简洁。

支持Restful 支持,支持静态资源,本地解析

灵活的url映射关系

跟spring ioc aop 完美集成

本身都是spring,肯定可以完美集成

对其他试图freemark,jsp,Velocity,jstl支持集成

  1. jsp 翻译型,jsp先变成class转成java
  2. Velocity 解释型
  3. 效率 jsp 大于 Velocity
  4. 开发方便程度Velocity大于jsp
  5. jsp问题:嵌入 java 代码(也违反了MVC的思路)

静态,动态

静态就是通过对应静态文件的缓存,key来对应图片。很多时候,我们都是通过nginx然后跳转到tomcat,nginx的作用其实不光是代理,还可以缓存,它用来缓存让第二次的话直接读取本地,较少服务端的压力。

1. html,css,img,flash客户端

2. jsp,jstl->服务端

3. last-modified

第一次登陆,网站返回200状态码

4. if-modified-since

第二次登陆,网站返回304状态码,if-modified-since等于第一次的。

5.加载优先级 compiler & listings

『互联网架构』软件架构-spring源码之spring MVC(上)(12)

『互联网架构』软件架构-spring源码之spring MVC(上)(12)

『互联网架构』软件架构-spring源码之spring MVC(上)(12)

Spring Mvc

官网:https://docs.spring.io/spring/docs/5.1.3.RELEASE/spring-framework-reference/web.html#spring-web

『互联网架构』软件架构-spring源码之spring MVC(上)(12)

『互联网架构』软件架构-spring源码之spring MVC(上)(12)

具体创建一个简单的mvc例子,这里就不创建了。

  • 小技巧

    >app 或者pc 区别分开来,返回结果是一样的

    >@RequestMapping(value = {“/app”,”/pc”})

『互联网架构』软件架构-spring源码之spring MVC(上)(12)

对上述流程图的解释:

* 用户发起请求到前端控制器(Controller)

* 前端控制器没有处理业务逻辑的能力,需要找到具体的模型对象处理(Handler),到处理器映射器(HandlerMapping)中查找Handler对象(Model)。

* HandlerMapping返回执行链,包含了2部分内容: ① Handler对象、② 拦截器数组

* 前端处理器通过处理器适配器包装后执行Handler对象。

* 处理业务逻辑。

* Handler处理完业务逻辑,返回ModelAndView对象,其中view是视图名称,不是真正的视图对象。

* 将ModelAndView返回给前端控制器。

* 视图解析器(ViewResolver)返回真正的视图对象(View)。

* (此时前端控制器中既有视图又有Model对象数据)前端控制器根据模型数据和视图对象,进行视图渲染。

* 返回渲染后的视图(html/json/xml)返回。

* 给用户产生响应。

PS:先了解总体的流程,然后在细细的品味源码的味道,重点是DispatcherServlet 是HTTP请求处理程序/控制器的中央调度程序。

>>原创文章,欢迎转载。转载请注明:转载自,谢谢!>>原文链接地址:上一篇:

已是最新文章


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

电商产品经理宝典:电商后台系统产品逻辑全解析

电商产品经理宝典:电商后台系统产品逻辑全解析

刘志远 / 电子工业出版社 / 2017-10-1 / 49.00元

时至今日,对于产品经理的要求趋向业务型、平台型,甚至产生了细分领域专家。纯粹的前端产品经理(页面、交互)逐渐失去竞争力。而当后台产品经理的视野开始从功能延伸到模块,再延伸到子系统,最后关注整体系统时,就有了把控平台型产品的能力。 《电商产品经理宝典:电商后台系统产品逻辑全解析》围绕“电商后台产品”,从电商的整体产品架构入手,逐步剖析各支撑子系统。通过学习电商产品后台的架构和逻辑,可以让读者从......一起来看看 《电商产品经理宝典:电商后台系统产品逻辑全解析》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换