关于ajax与注解详解

前端之家收集整理的这篇文章主要介绍了关于ajax与注解详解前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Ajax的学习 不需要任何第三方jar包 作用:异步刷新页面,也成为局部刷新页面的目的,降低了服务器的压力,将重心放在客户端。 过程: 第一步:获取XmlHttpServlet对象 function getXmlHttpRequest() { var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+,Firefox,Chrome,Opera,Safari xmlhttp = new XMLHttpRequest(); } else {// code for IE6,IE5 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } return xmlhttp; } 不同的浏览器,可以获取XmlHttpRequest方式不同。 第二步:设置回调函数 xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { ...... // var msg = xmlhttp.responseText; //alert(msg); } }; 设置回调函数的目的:将处理服务器中响应。 详解: 1.readyState为该xmlhttp对象的状态:分别表示为0,1,2,3,4 0:表示请求还未初始化 1:与服务器建以建立连接 调用了open()函数 2:服务器在接受请求参数 调用了send()函数 3:服务器在处理请求参数 开始响应 4:处理完毕,响应已完成。 2.status 为响应状态码 就是response想浏览器进行响应的状态码,常见为200,403,302,304 200:响应成功 404:找不到指定资源 302:重定向 304:资源在上次访问后没有任何改变 3.接受响应数据 xmlhttp.responseText 获得字符串形式的响应数据。 xmlhttp.responseXML 获得 XML 形式的响应数据。 一般客户机都是获取服务器端返回的json形式的数据: json形式分为两种: a.以javascript对象的形式 var json = { name:"feng",age:"21",show: function() { alert("nihao"); } } b.以数组的形式 var json = ["a","b","c"]; 常见的组合:var json = {name:'feng',age:'21'}; var json = [{name:'yang'},{name,'li'}] 为了将字符串转化为json一般在客户端用eval()进行转化 var json = eval(“(”+ json + “)”); 第三步:调用open()函数 open(method,url,asynch) :建立对服务器的调用 open()函数目的像服务端发送请求 method:设置请求方式get/post url:服务端的url asynch:表示是否表示异步,一般为true,不写 第四步:调用send()函数 send(content) :向服务器发送请求 注:若为get请求:则send里面写null 若为post请求:则里面写求情参数 例如xmlhttp.send("username="+username); 但是:必须得设置RequestHeader请求 让服务器知道是post请求 xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 注解Annotation学习: 什么是注解?它有什么用? 注解:它是由jvm来解析,来描述类如何运行的。 注解annotation作业之一可以取代传统的配置文件,简化我们在开发中的配置,描述类是如何运行的。 所有的注解都来自java.lang.annotation 1.jdk中自带的三个annotation: 1.@Override 用于描述当前的方法是一个重写的方法 注意: jdk1.5:这个版本不能描述接口与类之间的方法重写 jdk1.6:这个版本能描述接口与类之间的方法重写 2.@Deprecated 用来描述当前的方法是一个过时的方法 方法过时原因:在当前版本,方法存在安全隐患,或者有更好的方法替换 3.@SuppressWarnings 去除程序中的警告信息,例如@SuppressWarnings("all")去除所有警告信息 2.注解本质 是一个接口,它扩展了java.lang.annotation包下的Annotation类 自定义注解 @interface A {} public class AnnotationTest { @A public static void main(String[] args) { } } 详解: 1.注解中的成员属性类型可以有哪些: 字符串(String) 基本类型 Class Annotation类型 enum类型 以上任意类型的一维数组,实质就是抽象方法 2.使用注解: 1.若注解中设置了成员,则必须为成员属性注入值 形式如下:@DataBaseAnno(属性名称=value,...") 2.如注解中的成员是value,则注入时候可以不写属性名称,形式多种多样: a.类型为是String @Annotation1("abc"); @Annotation1(value = "abc"); a.类型为是String[] @Annotation1("abc" ); @Annotation1({"abc" }); @Annotation1(value = "abc"); @Annotation1(value = {"abc" }); 3. 元注解:用于修饰注解的注解 @Retention 用于描述当前的Annotation在哪一个阶段有效 它的值是RetentionPolicy类型有: SOURCE: 代表它在源代码阶段有效果,可以进行安全检查 CLASS:加载到jvm阶段有效果 RUNTIME:在jvm中运行阶段有效 @Target 它主要描述注解在什么位置使用,例如描述在类上使用 ,描述在成员变量使用,描述在方法上使用。 它的值是枚举 ElementType有: ANNOTATION_TYPE 注释类型声明 CONSTRUCTOR 构造方法声明 FIELD 字段声明(包括枚举常量) LOCAL_VARIABLE 局部变量声明 METHOD 方法声明 PACKAGE 包声明 PARAMETER 参数声明 TYPE 类、接口(包括注释类型)或枚举声明 @Inherited 代表注解具有继承性 @Documented 如果注解被修饰 在可以在doc文档上面显示 4.如何获取注解上面的属性值? 利用反射。 //Method方法中有一方法可以获取方法注解上面的对象 Method.getAnnotation(); //判断当前方法下是否具有指定的注解 Method.isAnnotationPresent(Annotation.class);

猜你在找的Ajax相关文章