在web开发中,有两种主要的开发结构:Model I 和Model II,Model II最为重要
Model I
Model1就是指开发中将显示层,控制层,数据层的操作交给JSP或者是JavaBean来进行处理:
客户端通过访问的JSP,调用到里面的JavaBean,而通过JavaBean调用数据库。
在JavaBean中就包含了有专门负责处理数据的操作,数据里主要以DAO为主,数据之外还包含了业务的处理
这个模式适合快速开发,不适合维护
Model II (MVC设计模式)
在Model II中所有的开发都是以Servlet为主体展开,由Servlet接收所有的客户端请求,之后根据请求调用相应的JavaBean,并将所有的显示器结果交给JSP完成。
Servlet特点: 可以接收用户的请求参数,还可以调用java程序,而且由于其本身就可以java程序运行,比JSP性能高,而且安全性也高
最终Servlet的所有操作内容都交给JSP进行显示。这样一来,Servlet不方便输出的缺点就避免了
JavaBean完成具体的单个功能:JSP完成显示功能,而Servlet负责连接JSP和JavaBean。
适合大型项目开发,维护方便。
MVC有自己的处理流程,实际上就是输出和跳转的问题
在MVC设计模式中,关键部分就是要使用RequestDispatcher接口,因为显示内容都是通过此接口保存到JSP页面上进行显示的。
由于所有内容要交给JSP显示,所以,Request属性最为方便。
从实际开发来讲,session属性范围用于登陆验证中的较多,Request范围主要的功能就是在MVC设计模式上,将Servlet的内容交给JSP显示,而这种显示在另外一次提交之后属性就消失了。
MVC设计实例:
登陆操作
操作流程:
、
登陆页面程序清单:
具体程序在:
DAO设计模式简介中实现。
这里,JSP中最好只包含以下三种类型的代码:
- 接收属性: 接收从Servlet传递过来的属性
- 判断语句:判断传递到JSP中的属性是否存在
- 输出内容: 使用迭代或者是vo进行输出
- 在JSP中唯一允许导入的包只能是java.util包。