spring和angularJS实现前后端分离
来源:互联网 发布:二叉排序树的建立算法 编辑:程序博客网 时间:2024/05/22 05:22
1、何为前后端分离
简单说就是前端和后端实现解耦,前端专注于页面的展现,后端专注于业务逻辑的实现,前端和后端的职责将会更清新。前后端分离的终极目标是前端和后端完全成为独立的项目。
2、解决方案
利用Spring MVC提供RESTful风格的api,angularJS作为前端框架通过JSON数据格式与后端进行交互。
3、实现
直接上代码
项目结构:
@Controller
public classLoginController {
@ResponseBody
@RequestMapping(value="/login/{userName}/{pwd}")
public String login(@PathVariable("userName")StringuserName,@PathVariable("pwd")Stringpwd) {
Stringresult= "";
if(userName.equals("admin")&&pwd.equals("admin")){
result = "true";
}else{
result = "false";
}
returnresult;
}
}
前端代码:
<!DOCTYPEhtml>
<htmllang="en">
<head>
<metacharset="utf-8">
<metahttp-equiv="X-UA-Compatible"content="IE=edge,chrome=1">
<title>前后端分离登录</title>
</head>
<bodyng-app="myApp">
<div>
<ulid="loginForm"ng-controller="LoginForm">
<li>用户名:<inputtype="text"name="userName"ng-model="userName"/></li>
<li>密 码:<inputtype="password"name="pwd"ng-model="pwd"/></li>
<liid="loginBtn"><inputtype="button"value="提交"ng-click="submit()"/>
<inputtype="button"value="重置"ng-click="resetInfo()"/></li>
</ul>
</div>
<scriptsrc="../js/lib/angular.min.js"></script>
<script>
angular.module("myApp", [])
.controller("LoginForm",function($scope,$http) {
$scope.resetInfo=function() {
$scope.userNmae="";
$scope.pwd="";
}
$scope.submit=function() {
var url ="../../login/" + $scope.userName +"/" + $scope.pwd;
$http.post(url).success(function(data) {
if(data) {
window.location.href= 'success.html';
} else{
window.location.href= 'error.html';
}
});
}
});
</script>
</body>
</html>
完整代码:http://download.csdn.net/detail/myvernal/9658164
4、后记
后端接口不用任何修改就可以完全支持与web、app进行通信,静态文件也可以从项目中分离出来后部署在单独的服务器上,真正实现了前后端的分离。- spring和angularJS实现前后端分离
- AngularJS实现前后端分离模式下的权限控制
- spring vue 前后端分离
- 前后端分离Spring MVC 和 RESTful 的理解
- 对于前后端分离技术的理解和实现
- 对于前后端分离技术的理解和实现
- spring-websocket下的前后端分离
- puer实现前后端分离开发
- 前后端分离,实现post请求
- 实现前后端分离的心得
- laravel 实现前后端登录分离
- 实现前后端分离的心得
- nginx+vue.js实现前后端分离
- 前后端分离springmvc和RESTful理解
- 前后端分离springmvc和RESTful理解
- 前后端分离springmvc和RESTful理解
- 前后端分离springmvc和RESTful理解
- 前后端分离springmvc和RESTful理解
- JS获取form:radiobuttons的选中值(jquery)
- 三妹互助运行原理与存在的意义
- linux下curl get方法传递参数
- 解决vitamio的mediaController总是在底部无法适配videoview的问题
- 获取Servlet初始化参数
- spring和angularJS实现前后端分离
- 查看系统硬件信息配置
- Espresso指南二(Espresso意图)
- Idea15导入eclipse项目配置
- hdu 1180诡异的楼梯
- nginx rewrite模块探究与实验
- kafka:python获取kafka的值
- .264视频文件封装成.MP4方法
- jmeter学习随笔1