likes
comments
collection
share

MVC模式和JSP的发展

作者站长头像
站长
· 阅读数 17

MVC模式和JSP的发展

1、MVC设计模式

MVC设计模式: Model-View-Controller简写。

MVC是软件工程中的一种软件架构模式,它是一种分离业务逻辑显示界面的设计方法。它把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。

  • 控制器Controller:对请求进行处理,负责请求转发;
  • 视图View:界面设计人员进行图形界面设计;
  • 模型Model:编写程序应用的功能(实现算法等等)、数据库管理;

如下图所示:

MVC模式和JSP的发展

MVC可对程序的后期维护和扩展提供了方便,并且使程序某些部分的重用提供了方便。而且MVC也使程序简化,更加直观。

注意,MVC不是Java的特有的,几乎现在所有B/S结构的软件都采用了MVC设计模式。

2、JSP发展

当SUN公司推出JSP后,同时也提供相应的开发模式.

2.1、model1时代---一个JSP页面搞定前端和后台

JSP技术主要用来简化动态网页的开发过程,由于它在形式上和html文档比较相似,因此与Servlet相比,用JSP来编写动态网页更加直观。但是服务器端只有JSP页面,所有的操作都在JSP页面中,连访问数据库的API也在JSP页面中完成。也就是说,所有的东西都在一起,对后期的维护和扩展极为不利。

MVC模式和JSP的发展

2.2、model2时代---弱化在JSP页面书写java代码

但是,当网页非常复杂时,JSP文件中的大量的html标记和java程序片段混杂在一起,会大大削弱JSP代码的可读性和可维护性,而且会增加调试JSP文件的难度。于是,出现了EL表达式帮助我们在JSP页面上简化从容器中取值的操作。【EL表达式】---简化取值

如果是在JSP页面上处理一些业务逻辑,JSTL标签库给我们提供了一个解决思路。将java代码封装成标签。直接在JSP页面书写标签,如<c:if> 即可完成相应逻辑。【JSTL标签库】---将java代码封装成标签.

Model2使用到的技术有:Servlet、JSP、JavaBean。Model2 是MVC设计模式在Java语言的具体体现。

  • JSP:视图层,用来与用户打交道。负责接收用户的数据,以及显示数据给用户;
  • Servlet:控制层,负责找到合适的模型对象来处理业务逻辑,转发到合适的视图;
  • JavaBean:模型层,完成具体的业务工作,例如:转账等。

MVC模式和JSP的发展

3、三层架构(补充)

JSP模式是理论基础,但实际开发中,我们常将服务器端程序,根据逻辑进行分层。一般比较常见的是分三层,我们称为:经典三层体系架构。三层分别是:表示层、业务逻辑层、数据访问层。区分层次的目的即为了“高内聚,低耦合”的思想。高内聚:开发人员可以只关注整个结构中的其中某一层,各层功能明确,代码结构标准化,程序员集中对每一层的实现;低耦合:可以降低层与层之间的依赖,利于各层逻辑的复用,在后期维护的时候,极大地降低了维护成本和维护时间;扩展性强:可以很容易的用新的实现来替换原有层次的实现。

  • 表示层:又称为 web层,与浏览器进行数据交互的。
  • 业务逻辑层:又称为service层,专门用于处理业务数据的。
  • 数据访问层:又称为dao层,与数据库进行数据交换的。将数据库的一条记录与JavaBean进行对应。

MVC模式和JSP的发展

面向接口编程思想:

为什么要使用接口编程?

1.先有代码还是先有业务 需求

面向接口编程就是先把客户的业务逻辑先提取出来,作为接口,业务具体实现通过该接口的实现类来完成。

2.编程原则

其遵循的思想是:对扩展开放,对修改关闭。其恰恰就是遵循的是使用接口来实现。当各个类变化时,不需要对已经编写的系统进行改动,添加新的实现类就可以了,不在担心新改动的类对系统的其他模块造成影响。

3.降低耦合性,解耦

耦合就是联系 ,耦合越强,联系越紧密。在程序中紧密的联系并不是一件好的事情,因为两种事物之间联系越紧密,你更换其中之一的难度就越大,扩展功能和debug的难度也就越大。

4.程序扩展性

可扩展性是指当需要为程序添加新的功能时,对其他模块的影响和添加的代价。

转载自:https://juejin.cn/post/7241966801213980729
评论
请登录