一.为什么需要MVC
在软件开发的过程中,有一个原则就是解耦。目的是使各个模块的独立性越来越强。MVC模式很好地做到了这个思想。它使代码和页面分离,数据库与Servlet分开。很好地方便了以后的维护和更新。
在教务管理系统中,输入账号和密码。登录成功之后可以显示选课界面。如何实现?
一种方案是写一个JSP,显示界面,验证账号密码,操作数据库。
但是有可能出现很多情况:比如有选课表单要美观一些,验证信息时要更加安全。数据库迁移。如果只用上面的一个JSP实现全部功能。代价会很高。
由此可以将JSP分成三个模块来实现。首先编写JSP,负责输入查询代码,提交到Servlet,进行安全验证,调用DAO来访问数据库,得到的结果再返回给JSP显示。
这样设计适合分工,方便维护,代价低。这种思想就是MVC思想。
二.MVC基本结构
MVC,(Model、 VIew、 Controller),不是编程技术,而是软件开发过程中的设计思想。
MVC的核心概念如下:
1.M(Model),封装应用程序的数据结构和事务逻辑,集中体现应用程序的状态,当数据状态改变的时候,能够在视图里面体现出来。JavaBeann非常适合这个角色。
2.V(View),是Model的外在表现,模型状态改变时,有所体现。JSP非常适合这个角色。
3.C(Controller),对用户的输入进行响应,将模型和视图联系在一起,负责将数据写到模型中,并调用视图。Servlet非常适合这个角色。
MVC步骤如下:
1.用户在表单输入,表单提交给Servlet,Servlet验证输入,然后实例化JavaBean
2.JavaBean查询数据库,查询结果暂时存在JavaBean中
3.Servlet跳转到JSP,JSP使用JavaBean,得到它里面的查询结果,并心事出来
MVC模式是以后学习Struts等框架的基础。
摘自《Java Web 开发与应用》,主编郭克华,副主编宋虹,清华大学出版社。