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 相关文章推荐
JavaScript实现多维数组的方法
Nov 20 Javascript
JS获取屏幕,浏览器窗口大小,网页高度宽度(实现代码)
Dec 17 Javascript
jquery创建表格(自动增加表格)代码分享
Dec 25 Javascript
js封装可使用的构造函数继承用法分析
Jan 28 Javascript
js剪切板应用clipboardData实例解析
May 29 Javascript
js替换字符串中所有指定的字符(实现代码)
Aug 17 Javascript
js html css实现复选框全选与反选
Oct 09 Javascript
详解使用grunt完成requirejs的合并压缩和js文件的版本控制
Mar 02 Javascript
基于node.js实现微信支付退款功能
Dec 19 Javascript
vue-router中scrollBehavior的巧妙用法
Jul 09 Javascript
在vue项目中使用md5加密的方法
Sep 14 Javascript
Vue axios获取token临时令牌封装案例
Sep 11 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
一个简单的自动发送邮件系统(二)
2006/10/09 PHP
攻克CakePHP系列三 表单数据增删改
2008/10/22 PHP
30 个很棒的PHP开源CMS内容管理系统小结
2011/10/14 PHP
PHP的引用详解
2015/02/22 PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
2017/06/10 PHP
PHP 记录访客的浏览信息方法
2018/01/29 PHP
PHP分页显示的方法分析【附PHP通用分页类】
2018/05/10 PHP
PDO::query讲解
2019/01/29 PHP
php获取是星期几的的一些常用姿势
2019/12/15 PHP
基于jQuery的自动完成插件
2011/02/03 Javascript
html中table数据排序的js代码
2011/08/09 Javascript
最简单的js图片切换效果实现代码
2011/09/24 Javascript
js函数返回多个返回值的示例代码
2013/11/05 Javascript
jQuery简单实现banner图片切换
2014/01/02 Javascript
JavaScript极简入门教程(二):对象和函数
2014/10/25 Javascript
JavaScript中pop()方法的使用教程
2015/06/09 Javascript
jQuery实现订单提交页发送短信功能前端处理方法
2016/07/04 Javascript
使用原生js+canvas实现模拟心电图的实例
2017/09/20 Javascript
Angular 项目实现国际化的方法
2018/01/08 Javascript
原生js实现公告滚动效果
2021/01/10 Javascript
vue中引入mxGraph的步骤详解
2019/05/17 Javascript
浅析Vue中拆分视图层代码的5点建议
2019/08/15 Javascript
JavaScript提升机制Hoisting详解
2019/10/23 Javascript
js实现打字小游戏
2019/12/17 Javascript
Python 安装 virturalenv 虚拟环境的教程详解
2020/02/21 Python
python 实现关联规则算法Apriori的示例
2020/09/30 Python
捷克体育用品购物网站:D-sport
2017/12/28 全球购物
《值日生》教学反思
2014/02/17 职场文书
《回乡偶书》教学反思
2014/04/12 职场文书
村居抓节水倡议书
2014/05/19 职场文书
食堂标语大全
2014/06/11 职场文书
社区创先争优承诺书
2014/08/30 职场文书
2015年质检工作总结
2015/05/04 职场文书
肖申克的救赎观后感
2015/06/02 职场文书
初中政教处工作总结
2015/08/12 职场文书
用javascript制作qq注册动态页面
2021/04/14 Javascript