AngularJS实现与Java Web服务器交互操作示例【附demo源码下载】


Posted in Javascript onNovember 02, 2016

本文实例讲述了AngularJS实现与Java Web服务器交互操作的方法。分享给大家供大家参考,具体如下:

AngularJS是Google工程师研发的产品,它的强大之处不是几句话就能描述的,只有真正使用过的人才能体会到,笔者准备在这篇文章中,以一个简单的登录校验的例子说明如何使用AngularJs和Web服务器进行交互。

准备工作

1.下载angular js库。

官网下载地址:https://angularjs.org/

或者点击此处本站下载

2.开发环境准备,由于是和Tomcat服务器进行交互,所以JDK什么的都是必不可少的。笔者机器上使用Eclipse Luna版、JDK7.0和Tomcat8.0。

浏览器最好选用Chrome或Firefox调试起来比较方便。

AngularJs与Java Web服务器交互案例

AngularJS实现与Java Web服务器交互操作示例【附demo源码下载】

这是笔者使用AngularJs和html5、css写好的一个前端页面,我们需要实现的是当点击提交案例后,?⑽谋居蛑械氖?萏峤坏椒?衿鞫私?行Q椋??衿鞫讼蚩突Ф朔祷叵嘤Φ拇?斫峁?4?肴缦拢?/p>

<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>登录</title>
<script src="js/angular-1.3.0.14/angular.js"></script>
<link rel="stylesheet" type="text/css" href="css/index.css"/>
</head>
<body ng-app="myApp">
  <div>
    <ul id="loginForm" ng-controller="LoginForm">
      <li>用户名:<input type="text" name="uname" ng-model="uname" /></li>
      <li>密 码:<input type="password" name="pword" ng-model="pword" /></li>
      <li id="loginBtn"><input type="button" value="提交" ng-click="submit()"/> <input type="button" value="重置" ng-click="resetInfo()"/></li>
    </ul>
  </div>
<script>
angular.module("myApp", [])
  .controller("LoginForm", function($scope,$http) {
  $scope.resetInfo=function()
  {
    $scope.uname="";
    $scope.pword="";
  }
  $scope.submit=function()
  {
    var postData = "?uname="+$scope.uname+"&"+"pword="+$scope.pword;
    var url = "loginAction.do" + postData;
    $http.post(url).success(function(data)
    {
      alert(data);
    });
  }
});
</script>
</body>
</html>

AngularJs对服务器的请求都是通过Ajax来实现的,所有的操作都封装在$http中,通过$http.post()方法以uname和pword做为参数向服务器端发送请求,请求资源为loginAction.do,然后调用alert方法弹出服务器端返回的内容。

在服务器端,我们需要增加一个Servlet来处理客户端的请求,并根据请求内容向客户端返回不同的数据。

在web.xml配置servlet,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <display-name>AngularJs</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
  <!-- 处理客户端请求Servlet -->
  <servlet>
    <servlet-name>LoginAction</servlet-name>
    <servlet-class>com.csii.action.login.LoginAction</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>LoginAction</servlet-name>
    <url-pattern>/loginAction.do</url-pattern>
  </servlet-mapping>
</web-app>

我们所有的业务逻辑都在LoginAction类中处理,LoginAction代码如下:

package com.csii.action.login;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LoginAction extends HttpServlet{
  private static final long serialVersionUID = 1L;
  private final String USERNAME = "Rongbo_J";
  private final String PASSWORD = "1234567";
  @Override
  protected void doGet(HttpServletRequest req, HttpServletResponse resp)
      throws ServletException, IOException {
    doPost(req, resp);
  }
  @Override
  protected void doPost(HttpServletRequest req, HttpServletResponse resp)
      throws ServletException, IOException {
    String uname = req.getParameter("uname");
    String pword = req.getParameter("pword");
    PrintWriter pw = resp.getWriter();
    if(USERNAME.equals(uname) && PASSWORD.equals(pword))
    {
      pw.write("username and password is right!");
    }else
    {
      pw.write("username or password is wrong!");
    }
  }
}

这里我们简单的模拟一下,用户名和密码信息并没有从数据库中取出。

String uname = req.getParameter("uname");
String pword = req.getParameter("pword");

我们从req对象中拿到客户端传过来的数据,和USERNAME 、PASSWORD 对比,如果相同则返回"username and password is right!",否则返回"username or password is wrong!"

然后我们回到登录界面,用户名和密码输入错误可以看到:

AngularJS实现与Java Web服务器交互操作示例【附demo源码下载】

正确输入Rongbo_J和1234567:

AngularJS实现与Java Web服务器交互操作示例【附demo源码下载】

完整demo实例代码点击此处本站下载

希望本文所述对大家AngularJS程序设计有所帮助。

Javascript 相关文章推荐
jQuery 1.5.1 发布,全面支持IE9 修复大量bug
Feb 26 Javascript
jquery序列化form表单使用ajax提交后处理返回的json数据
Mar 03 Javascript
JavaScript将一个数组插入到另一个数组的方法
Mar 19 Javascript
cookie的secure属性详解
Apr 08 Javascript
JS 中LocalStorage和SessionStorage的使用
Aug 17 Javascript
Vue.JS项目中5个经典Vuex插件
Nov 28 Javascript
详解写好JS条件语句的5条守则
Feb 28 Javascript
JS学习笔记之闭包小案例分析
May 29 Javascript
element-ui中Table表格省市区合并单元格的方法实现
Aug 07 Javascript
Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)
Oct 25 Javascript
微信小程序缓存支持二次开发封装实现解析
Dec 16 Javascript
vue 使用 canvas 实现手写电子签名
Mar 06 Javascript
Centos7 中 Node.js安装简单方法
Nov 02 #Javascript
AngularJS入门教程之与服务器(Ajax)交互操作示例【附完整demo源码下载】
Nov 02 #Javascript
用AngularJS来实现监察表单按钮的禁用效果
Nov 02 #Javascript
AngularJS入门教程之Cookies读写操作示例
Nov 02 #Javascript
js导出excel文件的简洁方法(推荐)
Nov 02 #Javascript
AngularJS入门教程之多视图切换用法示例
Nov 02 #Javascript
js 转json格式的字符串为对象或数组(前后台)的方法
Nov 02 #Javascript
You might like
php calender(日历)二个版本代码示例(解决2038问题)
2013/12/24 PHP
php中strtotime函数用法详解
2014/11/15 PHP
JavaScript国旗变换效果代码
2008/08/13 Javascript
C#中TrimStart,TrimEnd,Trim在javascript上的实现
2011/01/17 Javascript
jQuery实现按键盘方向键翻页特效
2015/03/18 Javascript
jQuery+PHP+MySQL实现无限级联下拉框效果
2016/02/19 Javascript
jQuery简单实现tab选项卡切换效果
2016/06/20 Javascript
JS实现超简单的汉字转拼音功能示例
2016/12/22 Javascript
bootstrap 表单验证使用方法
2017/01/11 Javascript
Bootstrap fileinput组件封装及使用详解
2017/03/10 Javascript
Webpack执行命令参数详解
2017/06/17 Javascript
详解vue axios中文文档
2017/09/12 Javascript
vue.js系列中的vue-fontawesome使用
2018/02/10 Javascript
使用React手写一个对话框或模态框的方法示例
2019/04/25 Javascript
[06:48]DOTA2-DPC中国联赛2月26日Recap集锦
2021/03/11 DOTA
[01:07:02]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第三场 2月26日
2021/03/11 DOTA
python书籍信息爬虫实例
2018/03/19 Python
numpy.delete删除一列或多列的方法
2018/04/03 Python
python通过txt文件批量安装依赖包的实现步骤
2019/08/13 Python
selenium+python配置chrome浏览器的选项的实现
2020/03/18 Python
python异常处理、自定义异常、断言原理与用法分析
2020/03/23 Python
利用keras使用神经网络预测销量操作
2020/07/07 Python
Python实现手势识别
2020/10/21 Python
h5封装下拉刷新
2020/08/25 HTML / CSS
Nebula美国官网:便携式投影仪
2019/03/15 全球购物
音乐专业应届生教师求职信
2013/11/04 职场文书
书法比赛获奖感言
2014/02/10 职场文书
小学毕业感言50字
2014/02/16 职场文书
大学应届生的自我评价
2014/03/06 职场文书
校庆活动策划方案
2014/06/05 职场文书
2014年行政部工作总结
2014/11/19 职场文书
工作失职检讨书范文
2015/05/05 职场文书
天那边观后感
2015/06/09 职场文书
图书借阅制度范本
2015/08/06 职场文书
初级职称评定工作总结
2015/08/13 职场文书
python flappy bird小游戏分步实现流程
2022/02/15 Python