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 相关文章推荐
prototype1.4中文手册
Sep 22 Javascript
Javascript中的异步编程规范Promises/A详细介绍
Jun 06 Javascript
JavaScript类型系统之Object详解
Jan 07 Javascript
Javascript之Math对象详解
Jun 07 Javascript
实例解析jQuery中如何取消后续执行内容
Dec 01 Javascript
微信小程序 同步请求授权的详解
Aug 04 Javascript
关于Vue.nextTick()的正确使用方法浅析
Aug 25 Javascript
浅谈angular4.0中路由传递参数、获取参数最nice的写法
Mar 12 Javascript
Vue.js获取被选择的option的value和text值方法
Aug 24 Javascript
node.js ws模块搭建websocket服务端的方法示例
Apr 25 Javascript
Node.js使用MongoDB的ObjectId作为查询条件的方法
Sep 10 Javascript
js重写alert事件(避免alert弹框标题出现网址)
Dec 04 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 preg_filter执行一个正则表达式搜索和替换
2012/02/27 PHP
基于PHP一些十分严重的缺陷详解
2013/06/03 PHP
ThinkPHP登录功能的实现方法
2014/08/20 PHP
php单一接口的实现方法
2015/06/20 PHP
基于jQuery的淡入淡出可自动切换的幻灯插件
2010/08/24 Javascript
利用javascript的面向对象的特性实现限制试用期
2011/08/04 Javascript
js arguments对象应用介绍
2012/11/28 Javascript
js 剪切板的用法(clipboardData.setData)与js match函数介绍
2013/11/19 Javascript
javascript自动给文本url地址增加链接的方法分享
2014/01/20 Javascript
JavaScript中数据结构与算法(三):链表
2015/06/19 Javascript
jQuery插件简单实现方法
2015/07/18 Javascript
js模式化窗口问题![window.dialogArguments]
2016/10/30 Javascript
详解在AngularJS的controller外部直接获取$scope
2017/06/02 Javascript
React diff算法的实现示例
2018/04/20 Javascript
微信小程序使用字体图标的方法
2019/05/23 Javascript
Javascript Dom元素获取和添加详解
2019/09/24 Javascript
用Javascript实现发送短信验证码间隔功能
2021/02/08 Javascript
[06:53]DOTA2每周TOP10 精彩击杀集锦vol.3
2014/06/25 DOTA
Python httplib,smtplib使用方法
2008/09/06 Python
python迭代器实例简析
2014/09/25 Python
Python编程判断这天是这一年第几天的方法示例
2017/04/18 Python
使用Python生成200个激活码的实现方法
2019/11/22 Python
python 利用百度API识别图片文字(多线程版)
2020/12/14 Python
Myprotein法国官网:欧洲第一运动营养品牌
2019/03/26 全球购物
新西兰最大、占有率最高的综合性药房:PharmacyDirect药房中文网
2020/11/03 全球购物
linux面试题参考答案(2)
2015/12/06 面试题
物业管理计划书
2014/01/10 职场文书
财务内勤岗位职责
2014/04/17 职场文书
质量承诺书格式
2014/05/20 职场文书
人力资源管理系自荐信
2014/05/31 职场文书
2014派出所所长群众路线对照检查材料思想汇报
2014/09/18 职场文书
2015年学校禁毒工作总结
2015/05/27 职场文书
小学数学教师研修日志
2015/11/13 职场文书
合作合同协议书
2016/03/21 职场文书
该怎么书写道歉信?
2019/07/03 职场文书
JavaScript 数组去重详解
2021/09/15 Javascript