框架产生的历史

知乎链接:https://www.zhihu.com/question/21142149/answer/148286909

1.WEB页面登场

    1991年Web页面在Internet出现,作为一帮科学家信息分享和传递的工具。然而很快,大家不满足仅仅访问Web服务器的静态文本和图像。1993年CGI(Common Gateway Interface)应用而生,CGI定义Web服务器和外部应用程序的通信接口标准,这样Web服务器可以通过CGI调用外部程序,外部程序根据Web服务器的请求生成动态内容。Java Web开发中的Servlet,原理基本类似。

2.PHP诞生

    早期的CGI程序主要是用Perl和C语言,可读性和维护性比较差。为了满足处理复杂应用的需求,需要把HTML页面中固定部分保存起来(模板),把动态部分打上标记,处理web请求时,后端程序生成动态内容填充到“模板”中去,这样就形成最终返回的HTML,这便是PHP的执行过程。随后出现的ASP和JSP本质上也是一种支持脚本语言编程(VB和Java)的模板引擎。

3.Java Web应用

   Web开发脚本语言,加上后端数据库技术,Web应用开始大杀四方。典型的Java Web应用架构:

  • Web浏览器发送HTTP请求到服务端,被Controller(Servlet)获取并进行处理(例如参数解析、请求转发)
  • Controller(Servlet)调用核心业务逻辑——Model部分
  • Model进行数据库存取操作,并将操作结果返回给Model
  • Controller(Servlet)将业务逻辑处理结果交给View(JSP),动态输出HTML内容
  • 动态生成的HTML内容返回到浏览器显示

4.MVC框架

Spring MVC提供了一个DispacherServlet(可以Spring MVC是以Servlet技术为基础的),这个Servlet把Web应用中Servlet中经常要实现的功能封装起来并提供一层公共抽象,想象对应于一个Web请求后端要做的事情,
  • URL映射(对应HTTP URL和方法,应该调用什么代码)
  • 权限验证(当前的URL是否允许当前用户访问)
  • 参数解析(如何从Servlet中获得参数)
  • 数据绑定(如何将Servlet中的参数,绑定到业务逻辑对象中)
  • 数据验证(判断数据是否符合业务规则,比如邮件格式是否正确)
  • 视图解析(使用哪个视图模板进行渲染)
  • 模型传递与视图渲染(将数据传递给模板,并且在模板中引用)

 

posted @ 2017-10-17 00:31  A.ArmStrong  阅读(320)  评论(0编辑  收藏  举报