jsp演变历史
- 早期只有servlet,只能使用response输出标签数据,非常麻烦。
- 后来jsp简化了Servlet的开发,如果过度使用jsp,在jsp中写大量的java代码,又写html标签,造成难于维护,难于分工协作。
- 再后来,java的web开发,借鉴mvc设计思想,使得程序的设计更加合理性
MVC设计思想
- MVC不是一种设计模式,而是一种设计思想,概念的区别:
- 设计模式:是一种固定的方法,不灵活,有特定的使用场景;
- 设计思想:是一种思想,比较灵活,由多种设计模式组合实现。
- MVC的设计思想:
- M(Model):主要功能提供数据(主要用来提供数据,不关心数据让谁显示(Controller 负责给M要数据,然后控制数据让哪一个View来显示));
- V(View):主要功能是展示数据(主要有数据即可,不关心数据来源);
- C(Controller):主要功能协调V层与M层,作为V层与M层沟通的桥梁。
流程:
- 首先浏览器发送请求,Controller获取用户的请求,
- 然后Controller调用Model,让Model里的业务操作来进行处理,
- Model处理完毕后将返回的模型数据返回给Controller,
- Controller根据模型返回会的数据选择视图,展示模型。
MVC优缺点
- 优点:
- 降低代码耦合性,方便维护,可以利于分工协作。所以如果一旦哪一层的需求发生了变化,就只需要更改相应的层中的代码而不会影响到其他层中的代码。
- 有利于组件的重用。如控制层可独立成一个能用的组件,表示层也可做成通用的操作界面。可以为一个模型在运行时同时建立和使用多个视图。
- 缺点:
- 增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。
- 对开发人员要求高。
- 视图层展示依赖与模型层,视图层需要很少的字段,但是模型层全部提供,性能上有一定影响。