后台的数据准备好后,现在可以进行后台开发了。
参考地址:
[https://github.com/yeoman/generator-angular](https://github.com/yeoman/generator-angular)
使用gitbash进入app文件夹,并按以下提示执行:
> 新建路由:yo angular:route login
系统将自动创建三个文件,1个控制器,1个测试文件,1个V层文件。并为我们在index.html中,引入刚刚创建的login.js文件,同时,在app.js中,自动增加一条路由。
```
panjiedeMacBook-Pro:app panjie$ yo angular:route login
invoke angular:controller:/usr/local/lib/node_modules/generator-angular/route/index.js
create app/scripts/controllers/login.js
create test/spec/controllers/login.js
invoke angular:view:/usr/local/lib/node_modules/generator-angular/route/index.js
create app/views/login.html
```
# V层
```
<form ng-submit="submit()">
<label>用户名:<input type="text" ng-model="username"></label>
<label>密码:<input type="password" ng-model="password"></label>
<button type="submit">submit</button>
</form>
```
# C层
```
'use strict';
/**
* @ngdoc function
* @name webAppApp.controller:LoginCtrl
* @description
* # LoginCtrl
* Controller of the webAppApp
*/
angular.module('webAppApp')
.controller('LoginCtrl', function($scope) {
$scope.username = ''; // 用户名
$scope.password = ''; // 密码
// 提交表单
var submit = function () {
console.log($scope.username);
console.log($scope.password);
console.log('submit');
};
$scope.submit = submit;
});
```
# M层
我们还是按照yo angular的教程,来定制M层。
> 新建service: yo angular:service user
```
panjiedeMacBook-Pro:app panjie$ yo angular:service user
create app/scripts/services/user.js
create test/spec/services/user.js
```
app/scripts/services/user.js
```
'use strict';
/**
* @ngdoc service
* @name webAppApp.user
* @description
* # user
* Service in the webAppApp.
*/
angular.module('webAppApp')
.service('user', function($http) {
var login = function(username, password, callback) {
var data = {};
$http({
method: 'POST',
url: 'http://127.0.0.1:8080/javaee/User_login',
data: {
username: username,
password: password
},
header: {
contentType: 'application/json',
}
}).then(function successCallback(response) {
console.log(response);
data = response.data;
// 网络发生错误
}, function errorCallback(response) {
console.log('error callback');
console.log(response);
}).
// 发生异常
catch(function(e) {
console.log('Error: ', e);
throw e;
}).finally(function() {
// 调用回调函数, 返回教师数组
callback(data.isPassed);
});
};
return {
login: login
};
});
```
# C与M对接
```
'use strict';
/**
* @ngdoc function
* @name webAppApp.controller:LoginCtrl
* @description
* # LoginCtrl
* Controller of the webAppApp
*/
angular.module('webAppApp')
.controller('LoginCtrl', function($scope, user, $location) {
$scope.username = ''; // 用户名
$scope.password = ''; // 密码
// 提交表单
var submit = function () {
user.login($scope.username, $scope.password, function(isPassed) {
if (isPassed === true) {
console.log('登录成功');
// 跳转至首页
$location.path('/');
} else {
console.log('登录失败');
}
});
};
$scope.submit = submit;
});
```
最后,我们进行集成测试。
![https://box.kancloud.cn/2b9eb075a60ae35e0838c1b07b13a72d_1072x390.gif](https://box.kancloud.cn/2b9eb075a60ae35e0838c1b07b13a72d_1072x390.gif)
> git checkout -f step11.5
- 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
- 第十四章:重构服务层