程序开发:MVC设计模式与应用
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面 显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于 映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
下面讲解简单的登录操作:
程序流程图:
在本程序中用户输入的登陆信息提交给Servlet进行接收,Servlet接收到请求内容后首先对其合法性进行检验(例如:输入的内容是否为 空或者长度是否满足要求等),如果验证失败,则将错误信息传递给登陆页显示,如果数据合法,则调用DAO层完成数据库的验证,根据验证的结构跳转到“登陆 成功”或登陆失败的页面,在本程序中,为了操作便捷,将登陆成功或失败的显示页都统一设置成登陆页。
MVC登陆程序清单:
No. |
页面名称 |
文件类型 |
描述 |
1 |
User |
JavaBean |
用户登陆的VO操作类 |
2 |
DatabaseConnection |
JavaBean |
负责数据库的连接和关闭操作 |
3 |
IUserDAO |
JavaBean |
定义登陆操作的DAO接口 |
4 |
UserDAOImpl |
JavaBean |
DAO接口的真实实现类,完成具体的登陆验证 |
5 |
UserDAOProxy |
JavaBean |
定义代理操作,负责数据库的打开和关闭并且调用真实主题 |
6 |
DAOFactory |
JavaBean |
工厂类,取得DAO接口的实例 |
7 |
LoginServlet |
Servlet |
接收请求参数,进行参数验证,调用DAO完成具体的登陆验证,并根据DAO的验证结果返回登陆信息 |
8 |
login.jsp |
JSP |
提供用户输入的表单、可以显示用户登陆成功或失败的信息 |
JSP的功能
通过本道MVC程序,读者可以清楚的感觉到,与最初的JSP开发(例如:JSP + JDBC或者是JSP + DAO)相比,现在的JSP页面中的代码已经减少了很多,只是简单的完成了输出,实际上在开发中,读者一定要记住JSP中最好只包含以下三种类型的代码:
接收属性:接收从Servlet传递过来的属性;
判断语句:判断传递到JSP中的属性是否存在;
输出内容:使用迭代或者是VO进行输出。
一定要记住一点,在JSP页面中唯一允许导入的包只能是java.util包,只要能把握住这一点,就可以开发出一个简洁、清晰的JSP页面。
文件
|
说明
|
com.bbs.util
|
项目工具包
|
com.bbs.bean
|
实体包,放置实体类,依据数据库表
|
com.bbs.dao
|
数据库访问包,访问数据库的接口和类
|
com.bbs.util
Util包通常是放置项目中常用的工具类
比如:数据库连接关闭类 。 数据验证类 。其他常用工具
com.bbs.bean
bean包下放置项目中的实体类,对应数据库中的表
com.bbs.dao
dao包放置数据库访问类,这是项目的业务核心,关于数据库的增删改查都在此包下
实际项目中常先设计接口,然后根据接口写实现类
接口:UserDao
包含方法:注册和登录