前言:这两天总结了一些Servlet和JSP里面的知识,写了几篇博客,果然有种“温故而知新”的感觉,学完这些,继续前行,开始整合框架里的知识,框架虽好,可底层原理该掌握的也得掌握,防止以后做项目的时候再掉坑,坑多了,也是很烦人的,为了以后工作的时候不加班,那就在大学暑假加加班吧。

 

 

Web开发模式背景

Sun公司推出JSP技术后,同时也推荐了两种Web应用程序      
的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式,这两种模式的学习刚好和之前写过的博客相对应,真是无巧不成书(其实是我故意的,皮一下,嘿嘿)。

 

Web开发模式解答

JSP+JavaBean模式

 

 

 

 

JSP+JavaBean适合开发业务逻辑不太复杂的Web程序,这种模式下JavaBean用来封装和处理数据,JSP主要是处理用户的请求,用来显示数据。

 

Servlet+JSP+JavaBean模式

 

 

 

 


Servlet+JSP+JavaBean模式被称为(MVC)模式,这种模式适合开发复杂的Web程序,这种模式下Servlet主要用来处理用户请求,JSP负责数据显示,JavaBean负责数据封装和处理,这种模式程序各个模块之间的层次非常清晰,Web开发推荐采用这种模式。

 

 

Web开发模式分析

其实Sun公司最早推出的一个动态的网页开发技术是Servlet,但是Servlet本身是有一些缺陷的,它的缺陷主要有两个:

* l  Servlet都需要进行相应的配置
* l  Servlet在显示HTML元素的时候很复杂

考虑到这些,Sun公司又推出了一个动态的网页开发技术——JSP,JSP比起Servlet确实挺好的,它本身不需要配置,而且在显示一些页面元素的时候特别简单,但是JSP也有缺陷,JSP在封装和处理数据的时候很麻烦,这个时候人们就想到了Java类,        
因为在JSP里面写的代码很难有复用的,但我们能在Java类里面定义方法,定义其他的一些东西,这个时候我们可以在JSP里调用这个类里面的方法,这样代码会有很强的复用性,这个时候人们就想到了JavaBean+JSP这种模式,这种模式的优点在于可以让JSP去显示数据,因为JSP显示数据是比较方便的,可以使用JavaBean来封装和处理数据,这样他们就各司其职了。

 

 

 


但是这种模式做一些小的应用还可以,但要是做一些复杂的应用,在后期的维护上是很麻烦的,这个时候人们就想到了Servlet+JSP+JavaBean模式,这种模式的优点是用Servlet来处理用户的请求,然后JSP用来显示数据,JavaBean用来封装和处理数据,这样他们更能各司其职了,这种模式就是传说中的MVC模式。

 

 

 

MVC

 

 

MVC开发流程

 

 

这种模式对后期的维护很方便。


对这两种模式还不理解的我可以再举个例子,模式一相当于在一间教室里坐了好多学生,然后有用户请求过来说想找某一个学生,如下图所示,我们直接可以让他找走了,因为JSP里面是可以直接调用JavaBean里面的方法的,new个类然后调方法,然后就完事了,但这样显得特别乱,这个时候就有了模式二。

 

 



 



 


模式二是什么呢,就是教室里面站一个老师,那么用户请求过来要先经过这位老师,老师会根据用户的请求做出相应的调度,比如说用户要找张三,老师说可以,就把张三给找走了,如下图:

 

 



 

 


比如说用户又想找李四,老师说不可以,那就不能再去找李四了。这样会有一个统一的调度,有这样调度的好处就是让你知道我们的请求到我们的控制里以后会执行哪个类,执行哪个操作,然后怎么去显示都是由Servlet统一管理的,Servlet不做具体的事情,只是拿到任务之后去安排JavaBean去做,然后显示的时候就让JSP去显示,Servlet只负责统一的管理,这种模式这种思想就叫MVC设计模式。这是对MVC的一个简单的介绍,说到这,应该有朋友能看懂吧,我觉得还挺详细的,自吹一把。

 

 

 

总结


介绍这些不是说这个必须得会,但我觉得至少学习要学的明明白白,不要糊里糊涂的,迷茫的去学,那样不仅效率低下,而且掌握不牢固,会限制你的思维,学习的过程中多探索几个为什么,说不定学习起来就会起到事半功倍的效果。

 

 

 


*****************************************************************************************************

我的博客园地址:https://www.cnblogs.com/zyx110/ <https://www.cnblogs.com/zyx110/>

转载请说明出处


我不能保证我所说的都是对的,但我能保证每一篇都是用心去写的,我始终认同“分享的越多,你的价值增值越大”,欢迎大家关注我的技术分享“Java匹马行天下”和学习心得分享“匹马行天下”,在分享中进步,越努力越幸运,期待我们都有美好的明天!

支持我的朋友们记得点波推荐哦,您的肯定就是我进步的动力。

 

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信