【】JavaEE项目的架构
1. MVC模式
Mode-View-Controller
2. View对象:系统提供给用户的操作界面
功能:
(1)输入数据:通过Form表单以及表单元素。
(2)显示业务数据:《1》列表显示模式 《2》详细显示模式
Model - 模型对象
表达:业务对象的属性和方法。
功能:(1)表达业务对象:使用属性。
(2)对象的持久化方法;增加,修改,删除,查询。
(3)业务对象的业务处理方法-每个业务处理都有一个方法对应。Controller对象(控制器对象)
表达:调度者的角色,负责协调Model和View的工作。
功能:
(1) 取得View提交的数据。
(2) 数据验证合法性。
(3) 数据的类型转换:String->int, double, float, Date
(4) 创建Model对象,把接收的属性信息封装到对象里。
(5) 调用Model的业务方法,实现业务处理。
(6) 保存给View显示的数据(列表,详细)。
(7) 跳转到指定的View对象。
【】JavaEE实现MVC模式- View 的实现:JSP+HTML+CSS+JavaScript+EL+JSTL
- Model实现:Java类。
- Controller实现:Servlet
【】JavaEE的MVC的5层架构实现
1. View层: View对象。
2. Controller层:Controller对象
3. Model层:model属性对象, 与表和表的字段对应。
4. DAO层(持久层):负责与数据库的操作,增,改,删,查。
5. Service层(业务层):负责完成业务方法的处理。
【】5层架构的操作顺序
【】JavaEE项目的开发流程
1.创建数据库:Oracle是创建新的用户
2.创建所需的表
3.编写Model层类。
4.编写DAO层类和接口。
5.编写Service层:类和接口
6.编写View层:JSP。
7.编程控制层:Servlet。
【】Model层
1. Model层类表达业务数据。
2. 每个表对应一个Model类。
3. Model层不需要设计接口,直接使用JavaBean类即可。
4. Mode层设计:
(1) 包名:域名.项目名.模块名.model
案例:com.neusoft.oa.hr.model
(2) 类名:业务对象名+Model
案例:EmployeeModel
(3) 类属性:每个表的字段对应一个属性。(先不考虑外键字段)
private 类型 属性名;
类属性名不需要与字段名相同。
注意:属性变量名前2个字符不能大写。
(4) 类的方法:每个属性一对get/set方法。
5. Model层的案例:
package com.neusoft.oa.hr.model;
import java.io.Serializable;
import java.sql.Blob;
import java.util.Date;
//员工的Model类
public class EmployeeModel implements Serializable {
//field变量
private int no=0; //序号,主键
private String code=null; //编号
private String name=null;
private String sex=null;
private int age=0;
private double salary=0;
private Date birthday=null;
private String desc=null;
private Blob photo=null; //员工的照片
private String fileName=null; //照片的文件名
private String contentType=null; //照片的文件类型
//property
public int getNo() {
return no;
}
public void setNo(int no) {
this.no = no;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public Blob getPhoto() {
return photo;
}
public void setPhoto(Blob photo) {
this.photo = photo;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public String getContentType() {
return contentType;
}
public void setContentType(String contentType) {
this.contentType = contentType;
}
}
【】DAO层
1. DAO-Data Access Object 数据访问层
2. 功能:负责与数据库连接,实现Model对象的持久化。
3. 主要实现方法:增加,修改,删除,查询。(CUDR)
5. DAO层的组成:
(1)DAO接口:对外发布DAO对象的功能, 每个表对应一个DAO接口。
(2)DAO实现类:实现DAO接口的方法。每个表对应一个DAO实现类。
(3)DAO工厂类:创建DAO接口实现类的对象。每个模块对应一个DAO工厂类。
6. DAO接口的设计
(1) 包名:域名.项目名.模块名.dao
com.neusoft.oa.hr.dao
(2) 接口名: I+业务对象名+Dao
案例:IEmployeeDao
(3) DAP接口的方法
<1>增加方法 Create -C
public void create(Model类 参数名) throws Exception;
<2>修改方法 Update -U
public void update(Model类 参数名) throws Exception;
<3>删除方法 Delete -D
public void delete(Model类 参数名) throws Exception;
<4>查询方法R-Retrive (Read)- 取得各种列表的方法
public List
633

被折叠的 条评论
为什么被折叠?



