MVC开发模式
JSP演变历史
- 早期只有Servlet,没有JSP,这样只能使用response输出标签数据,得手动拼接HTML和全部数据,非常之痛苦,如下图
- 后来SUN公司推出了jsp,开发者可以直接在HTML页面中编写动态的java代码去获取数据,简化了Servlet的开发(实际把数据和html标签的组装这一工作,交给了jsp自动去做,本质没变,下图是tomcat运行时,访问jsp页面时,在tomcat的work目录下自动生成的jsp对应的java文件,jsp本质就是个servlet)
- 但是项目体量很大的话,系统又有HTML代码,又有JAVA代码,很乱
- 若过度使用JSP,会造成项目代码混乱,难以维护,难以分工合作
- 再后来,JavaWeb开发,借鉴了MVC开发模式,使得程序的设计更加合理,维护更加方便
MVC
它是一种设计思想,用于解决系统架构问题。
- M:Model,模型,负责完成具体的业务逻辑。如查询数据库,封装对象
- V:View,视图,用于展示数据
- C:Controller,控制器,不参与具体业务,只做分发和流程控制
将程序分为3部分,3部分各司其职,降低系统的耦合度,便于分工协作,以及项目维护
在比较原始的的JavaWeb开发中,Servlet当作Controller,JavaBean当作Model,JSP当作View。
优点
- 降低系统耦合性,方便维护,方便分工协作
- 重用性高
缺点
- 不适合小型,中型的应用程序
- 增加了系统架构的复杂性,对开发人员要求高
既然采用了MVC的开发模式,那么JSP只用于视图展示,JSP中不再编写Java代码,那么如何把数据传到JSP页面中呢 =>用 EL表达式 与 JSTL标签