WEB开发模式
在实际的WEB开发中,有两种主要的开发结构,称为模式一(ModeI)和模式二(ModeII)
Mode1
ModeI就是指在开发中将显示层、控制层、数据层的操作统一交给JSP或者是JavaBean来进行处理
ModeI的处理情况分为两种,一种是完全使用JSP进行开发,另外一种是使用JSP+ JavaBean的模式进行开发,下面分别对这两种模式加以说明
- 用户发出的请求(request),交给JSP页面进行处理。如果是开发小型的WEB程序时,为了开发快速与便利,通常都会将显示层(Presentation Layer)和逻辑运算层(Business Logic Layer),全部都写在JSP页面中。
- 若将显示操作都写入JSP页中,而业务层都写成JavaBean形式,将程序代码封装成组件。这样JavaBean将负责大部分的数据处理,如:执行数据库操作等(类似于DAO),再将数据处理后的结果,返回至JSP页上显示
Mode II:Model-View-Controller
在
ModeII
中所有的开发都是以
Servlet
为主体展开的,由
Servlet
接收所有的客户端请求,之后根据请求调用相应的
JavaBean
,并将所有的显示结果交给
JSP
完成,也就是俗称的
MVC
设计模式
MVC设计模式
MVC
是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用
MVC
设计模式被分成三个核心层:模型层、视图层、控制层。它们各自处理自己的任务,各层的任务如下:
- 显示层(View):此层主要是负责接收Servlet传递的内容,并且调用JavaBean,将内容显示给用户。
- 控制层(Controller):此层的主要负责所有的用户请求参数,判断请求参数是否合法,根据请求的类型调用JavaBean执行操作并将最终的处理结果交由显示层进行显示。
- 模型层(Model):完成一各个独立的业务操作组件,一般都是以JavaBean或者EJB的形式进行定义的。
在MVC设计模式中,最关键的部分就是要使用RequestDispatcher接口,因为显示内容都是通过此接口保存到JSP页面上进行显示的
使用MVC开发
程序流程
用户输入的登陆信息提交给Servlet进行接收,Servlet接收到请求内容后首先对其合法性进行检验(例如:输入的内容是否为空或者长度是否满足要求等),如果验证失败,则将错误信息传递给登陆页显示,如果数据合法,则调用DAO层完成数据库的验证,根据验证的结构跳转到“登陆成功”或登陆失败的页面,在本程序中,为了操作便捷,将登陆成功或失败的显示页都统一设置成登陆页
JSP的功能
通过本道MVC程序,读者可以清楚的感觉到,与最初的JSP开发(例如:JSP+ JDBC或者是JSP+ DAO)相比,现在的JSP页面中的代码已经减少了很多,只是简单的完成了输出,实际上在开发中,读者一定要记住JSP中最好只包含以下三种类型的代码:
- 接收属性:接收从Servlet传递过来的属性;
- 判断语句:判断传递到JSP中的属性是否存在;
- 输出内容:使用迭代或者是VO进行输出。
MVC设计模式的好处
- JSP只负责显示
- DAO负责数据层操作
- Servlet连接JSP和DAO,并根据JavaBean的操作结果进行跳转