AJAX

来源:互联网 发布:c语言栈实现四则运算 编辑:程序博客网 时间:2024/06/02 02:35

1.ajax

AJAX 是 Asynchronous JavaScript And XML 的简称。直译为,异步的JS和XML。

1.1. XMLHttpRequst

核心对象:XMLHttpRequst

1.1.1. 常用方法

open(method,url,async)

open()用于设置请求的基本信息,接收三个参数。method请求的方法:get或post接收一个字符串url请求的地址,接收一个字符串Assync发送的请求是否为异步请求,接收一个布尔值。    true 是异步请求    false 不是异步请求(同步请求)

send(string) string只针对POST

send()用于将请求发送给服务器,可以接收一个参数string参数该参数只在发送post请求时需要。string参数用于设置请求体请求体参数使用键值对的形式,多个参数用&分割如:“username=lll&password=lll”post请求的时侯需要设置xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

1.1.2. 常用属性

readyState

描述XMLHttpRequest的状态一共有五种状态分别对应了五个数字:0 :请求尚未初始化,open()尚未被调用1 :服务器连接已建立,send()尚未被调用2 :请求已接收,服务器尚未响应3 :请求已处理,正在接收服务器发送的响应4 :请求已处理完毕,且响应已就绪。

status 请求的响应码

200 响应成功404 页面为找到500 服务器内部错误 

onreadystatechange

该属性需要指向一个函数该函数会在eadyState属性发生改变时被调用

responseText 获得字符串形式的响应数据。

1.1.3. get请求示例

//获取xhr对象var xhr = getXMLHttpRequest();//设置请求信息xhr.open("get","AjaxServlet?&t="+Math.random(),true);//发送请求xhr.send();//监听请求状态xhr.onreadystatechange = function(){//当响应完成    if(xhr.readyState == 4){        //且状态码为200时        if(xhr.status == 200){            //接收响应信息(文本形式)            var text = xhr.responseText;            //弹出消息          alert(text);        }    };};

1.1.4. post请求示例

//获取xhr对象var xhr = getXMLHttpRequest();//设置请求信息xhr.open("post","AjaxServlet",true);//设置请求头xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//发送请求xhr.send("hello=123456");//监听请求状态xhr.onreadystatechange = function(){//当响应完成if(xhr.readyState == 4){    //且状态码为200时    if(xhr.status == 200){        //接收响应信息(文本形式)        var text = xhr.responseText;        //弹出消息        alert(text);    }};

2.json

json(JavaScript Object Notation(javascript对象表示法)),是一种轻量级的数据交换格式。有着自己独立简单的语法。
目前最流行数据交换格式

常用json解析工具:

json-lib jackson gson

使用json-lib解析java对象

public static void testJavaBean2Json(){    Game g = new Game();    g.setName("三国杀");    g.setYear(2015);    g.setNo(1);    JSONArray json = JSONArray.fromObject(g);    System.out.println(json.toString());}public static void testList2Json(){    List<Game> list = new ArrayList<Game>();    Game g = new Game();    g.setName("三国杀");    g.setYear(2015);    g.setNo(1);    list.add(g);    g = new Game();    g.setName("泡泡堂");    g.setYear(2015);    g.setNo(1);    list.add(g);    JSONArray json = JSONArray.fromObject(list);    System.out.println(json.toString());}public static void testMap2Json(){    Map<Integer,Game> map = new HashMap<Integer, Game>();    Game g = new Game();    g.setName("三国杀");    g.setYear(2015);    g.setNo(1);    map.put(1, g);    g = new Game();    g.setName("泡泡堂");    g.setYear(2015);    g.setNo(1);    map.put(2, g);    JSONArray json = JSONArray.fromObject(map);    System.out.println(json.toString());}

3.maven

项目构建工具,类似maven的产品,gradle sbt

maven项目:

/src/main/java   java源代码/src/main/resources 资源配置文件/src/main/webapp 展示层代码和配置

maven坐标:

groupIdartifactIdversion使用这个三个确定一个仓库中的jar包

maven项目关系:

继承     可以继承父工程的所有依赖聚合     能够使用正宫聚合工程的资源依赖     我们可以任务是需要的第三方资源,例如一个jar或者一个maven工程

maven仓库:

远程仓库 maven官方,阿里云,开源中国私有仓库 要使用一个工具来创建,Nexus本地仓库  

4.IDEA

目前最流行的java开发工具

用法参考课堂提供的资料


原创粉丝点击