『互联网架构』码农的世界

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

2019-02-20  本文已影响2人  IT人故事会

原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
原文链接地址:『互联网架构』软件架构-spring之AOP场景实战(11)

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

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状态码

  1. if-modified-since

第二次登陆,网站返回304状态码,if-modified-since等于第一次的。
5.加载优先级 compiler & listings

Spring Mvc

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

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

app 或者pc 区别分开来,返回结果是一样的
@RequestMapping(value = {"/app","/pc"})

对上述流程图的解释:

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

上一篇 下一篇

猜你喜欢

热点阅读