班级编号:VIP14学员名字:端碗吹水课程名称:JavaWeb程序架构模式的演进上课时间:20180116
JavaWeb程序架构模式的演进
老一辈的程序员一般都经历了Web程序架构模式的演进,从最开始的在jsp或者jspServlet上做开发,到后来的mvc、三层等。而现在有挺多人学完web,可能都没怎么使用过jsp或jspServlet开发过项目,就直接学习使用Spri
g、Spri
gBoot或者Spri
gMVC等框架进行开发。如果没有经历这样一个逐步演进的过程,就很难理解框架带给了我们什么样的好处,而且开发过程中遇到问题也难以解决,更别说去学习这些框架中的源码了。学习是一个循序渐进的过程,不能急于求成,所以本文旨在简单的聊一聊Web的发展史。
一、web发展简史
以目前Spri
gBoot作为时间轴的话,web发展的过程大致可以分为以下几个阶段:1纯jspjspServletjspJavaBea
Servlet2MVCMVP三层架构3使用EJB进行分布式应用的开发,EJB是重量级框架,在使用上比较复杂和麻烦4由于EJB太重了,于是Spri
g应运而生,但是Spri
g在发展上越来越臃肿,所以还是有许多繁琐的配置5同样的由于Stri
g配置太繁琐,于是Spri
gboot诞生了,这时就可以体验到“约定大于配置”的乐趣
二、web发展初始阶段
1jspjspServletjspJavaBea
Servlet开发模式:
在最开始的时候,jsp刚刚出来,那时候的web开发基本都是在jspJavaBea
上完成的。更有甚着直接把页面、逻辑、数据处理全都写在jsp上,想也知道这种方式开发的项目代码不仅乱、而且耦合性相当高,造成项目难以维护。纯JSP流程图如下:
fJSPJavaBea
流程图如下:
相信很多人在刚开始学习JavaWeb的时候,或多或少都使用过以上两种模式的开发,第一种模式就不用说了,所有的代码都写在JSP上耦合度相当地高。第二种模式虽然相较于第一种模式上,在一定程度上解耦了,但JSP依旧要负责页面控制以及请求与响应的处理,职责不单一。耦合度依旧比较高,高度耦合的结果是JSP代码十分复杂混乱,后期维护很困难。
f以上这种模式虽然开发起来比较简单,当时这种模式也能够适合一些小型项目的开发,但是由于代码混乱维护困难也就逐渐被淘汰了。
领教到这种模式的蛋疼之后就开始加上了Servlet,这时JSP只负责页面控制,Servlet上负责数据的验证,JavaBea
负责具体的业务逻辑与数据处理、封装以及和数据库交互等。
JSPJavaBea
Servlet流程图如下:
在这种模式上已经开始有点MVC的影子了,但是这种模式还不能称之为一个比较完善的MVC设计模式。这种模式相对于之前的两种模式来说分工更明r