1、Model1设计模式:JSP+JavaBean
JavaBean概念
符合一定规范编写的Java类,不是一种技术,而是一种规范。大家针对这种规范,总结了很多开发技巧、工具函数。符合这种规范的类,可以被其它的程序员或者框架使用。
具体规范如下:
(1) 有一个public默认构造器(例如无参构造器)
(2) 属性使用public 的get,set方法访问,也就是说属性设置成private,同时get,set方法与属性名的大小也需要对应。例如属性name,get方法就要写成,public String getName(){},N大写
(3) 需要序列化(即实现serializable接口)。这个是框架,工具跨平台反映状态必须的。
JSP开发的弊端
业务处理的代码与JSP代码混在一起.不易于阅读,不易于代码维护,降低了程序的可维护性,可扩展性,同时不利于分工合作
2、Model2模式:(采用MVC设计模式)
Servlet:控制程序流程
JavaBean:实现业务逻辑层
JSP:负责数据显示
优点:
层次关系更加清晰
各组件分工更加明确
缺点:
增加了编写的复杂度
模型:
对应的组件是JavaBean.代表应用程序的数据以及用于访问,控制和修改这些数据的业务规则.
视图:
对应的组件是JSP或HTML.视图是用户看到并与之交互的界面.(它从模型中获取数据并指定这些数据应该如何表现)
控制器:
对应的组件是Servlet.控制器负责转发请求,对请求进行处理.
MVC执行流程:
1.客户端向服务器发送请求
2.服务器把请求分法给Servlet控制器
3.Servlet控制器获取用户输入的数据,并调用JavaBean进行
4.Servlet根据处理的结果选择一个JSP视图来响应用户.
5.JSP视图显示处理的数据(如果存在数据)
3、三层开发遵循的原则
1、上层依赖其下层,依赖关系不跨层
表示层不能直接访问数据访问层
上层调用下层的结果,取决于下层的实现
2、下一层不能调用上一层
3、下一层不依赖上一层
上层的改变不会影响下一层
下层的改变会影响上一层得到的结果
4、在上一层中不能出现下一层的概念
分工明确,各司其职
4、分层开发的特点
1.下层不知道上层的存在
仅完成自身的功能
不关心结果如何使用
2.每一层仅知道其下层的存在,忽略其他层的存在
只关心结果的取得
不关心结果的实现过程
JSTL通常会与EL表达式合作实现JSP页面的编码
5、分层开发的优势
职责划分清晰
无损替换
复用代码
降低了系统内部的依赖程度
6、项目实战