在一个正常的开发流程中,开发流程往往是这样的:
1. 前台所有原型开发(全部)。
2. 前台UML图开发, 后台UML图开发。
3. 根据前台UML图,制定开发规范(按模块分步开发)。
4. 按开发规范,开发后台(按模块分步开发)。
5. 开发前台M层,按规范与后台对接(按模块分步开发)。
我们往往会按项目需求制定开发规范。
所以,一般不会出现上一章节中,需要手工建立json文件的情况。同样,我们已假设开发至此,已经制定好如下规范, 并且后台人员已经按规范已经开发好了接口。
# 开发规范
## /Teacher_all
教师列表
## URL:
http://www.mengyunzhi.com:8080/javaee/Teacher_all.json
## 请求格式
json
## HTTP请求方式
GET
## 是否需要登录
是
## 请求参数
<table>
<tr>
<th></th>
<th>必选</th>
<th>类型及范围</th>
<th>说明</th>
</tr>
</table>
## 注意事项
返回值中,包括teacher信息.
## 返回结果
json示例:
```
{
"code": 200,
"teachers": [
{
"email": "lisi@yunzhiclub.com",
"id": 1,
"name": "李四",
"password": "234",
"sex": false,
"teacherId": 1,
"username": "lisi"
},
{
"email": "wangwu@yunzhiclub.com",
"id": 2,
"name": "王五",
"password": "234",
"sex": false,
"teacherId": 2,
"username": "wangwu"
}
]
}
```
## 返回字段说明
<table>
<tr>
<th>返回字段</th>
<th>字段类型</th>
<th>说明</th>
</tr>
<tr>
<td>code</td>
<td>int</td>
<td>200正常;401:用户未登陆; 403:用户无权限</td>
</tr>
<tr>
<td>teachers</td>
<td>array</td>
<td>教师列表(包含有teacher信息)</td>
</tr>
</table>
# 重构代码
现在,我们正式将前台中的url写入正式的信息
app/scripts/services/teacher.js
```
...
// 获取所有教师
var all = function(callback) {
// $http.get().then(function1(){}, function2(){}); 链式调用 then()中接收两个参数,类型均为function
$http.get('http://www.mengyunzhi.com:8080/javaee/Teacher_all.json').then(function success(response) {
// 数据成功返回
console.log(response);
var teachers = response.data.teachers;
callback(teachers);
}, function error(response) {
console.log('数据请求错误:');
console.log(response);
});
};
...
```
# 测试
此时,我们刷新 [http://localhost:9000/#!/teacher/](http://localhost:9000/#!/teacher/), 打开控制台,并注意网络选项卡,如果数据成功返回的话,相信你已经能看到数据表中的数据了。
- README
- 第一章:准备
- 第二章:Hello World!
- 第一节:查看工程文件
- 第二节:JDK、JRE与环境变量
- 第三节:index.jsp
- 第三章:Hello Struts
- 第一节:Web.xml
- 第二节:单入口
- 第三节:Hello Struts
- 第四节:触发C层
- 第四章:建立数据表
- 第一节:建立实体类
- 第二节:测试一
- 第三节:测试二
- 第四节:引入Hibernate
- 第五节:配置Hibernate
- 第六节:建立连接
- 第七节:实体类映射数据表
- 第八节:完善数据表
- 第五章:教师管理
- 第一节:增加数据--add
- 第二节:增加数据--save
- 1 获取传入数据数据
- 2 数据写入测试
- 3 对接C层
- 第三节:数据列表
- 1 获取数据
- 2 重构代码
- 3 C层对接--初始化
- 4 C层添加数据
- 5 V层显示数据
- 6 获取数据库中数据
- 7 显示性别
- 8 分页
- 9 条件查询
- 第四节:修改数据
- 1 edit
- 2 update
- 第五节:删除数据
- 第六节:总结
- 第六章:重构C层
- 第一节:继承ActionSupport类
- 第二节:数据验证
- 第七章:前台分离(前台)
- 第一节:环境搭建
- 第二节:运行环境
- 第三节:共享开发环境
- 第四节:生产环境
- 第八章:前台开发(前台)
- 第一节:本地化
- 第二节:教师列表
- 1 引入M层
- 2 模拟后台返回数据
- 3 C与M对接
- 4 C与V对接
- 第九章:前后台对接(前后台)
- 第一节:后台输出json(后台)
- 第二节:对接前台(全栈)
- 第二节:对接API(前台)
- 第二节:跨域请求(后台)
- 第三节:重构代码(前台)
- 第十章:重构后台M层
- 第一节:数据访问DAO层
- 第二节:项目整体重构
- 第十一章:用户登陆(前后台)
- 第一节:制定规范
- 第二节:定制测试用例
- 第三节:后台输入测试代码(后台)
- 第四节:postman(后台)
- 第五节:新建用户登陆模块(前台)
- 第六节:代码重构(前台)
- 第十二章:班级管理(前后台)
- 第一节:班级列表
- 1 原型开发
- 2 制定规范
- 3 后台对接开发
- 4 前台对接开发
- 第二节:Add
- 1 原型开发
- 2 制定规范
- 3 后台对接开发
- 4 前台对接开发
- 第三节:Save
- 1 制定规范
- 2 后台对接开发
- 3 前台对接开发
- 第四节:Edit
- 1 原型开发
- 2 制定规范
- 3 后台对接开发
- 4 前台对接开发
- 第五节:Update
- 1 制定规范
- 2 后台对接开发
- 3 前台对接开发
- 第六节:Delete
- 1 制定规范
- 2 后台对接开发
- 3 前台对接开发
- 第七节:小结
- 第十三章:班级管理(API)
- 第一节:ER图
- 第二节:create
- 1 实体层
- 2 dao层
- 3 service(server)层
- 4 action层
- 第三节:ManyToOne
- 第四节:Read
- 1 service(server)层
- 2 action层
- 第五节:update
- 1 service(server)层
- 2 action层
- 第六节:update
- 第十四章:重构服务层