javascript原生态Ajax及java注解
2015-02-06 14:46
176 查看
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);
不需要任何第三方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,css,html,javascript,dhtml,div,java,jsp,j2ee.
- AsynchronousJavaScriptandXML(AJAX)withJava2Enterpri…
- 简化 Ajax 和 Java 开发,第 1 部分: 用 JSP 标记文件动态生成 JavaScript 代码
- javascript和ajax—java与物联网方向
- 原生态javascript实现ajax验证用户名
- ajax简单示例(XML+XSLT+JavaScript+JAVA)(version1)
- 解如何利用 XML 和 JavaScript Object Notation 在 Ajax 客户端和 Java 服务器之间传输数据。
- javascript/ajax/java
- (续三)Asynchronous JavaScript and XML (AJAX) with Java 2 Enterprise Edition
- 21天学通Java学习笔记-Day13(javascript-ajax)
- 基于Ajax和JSON从javascript中调用后台java方法的JsonGateway
- JAVA AJAX教程第五章—DOM和JAVASCRIPT深入
- JAVA AJAX教程第二章-JAVASCRIPT基础知识
- java面试题之三:html&JavaScript&ajax 部分
- Ajax/JavaScript学习随笔:java script Object Notation(JSON)
- Ajax - JavaScript之实现私有属性、像C++和Java一样支持基于类的继承方法之例子
- JAVA AJAX教程第二章-JAVASCRIPT基础知识
- JAVA AJAX教程第五章―DOM和JAVASCRIPT深入(下)
- 简化 Ajax 和 Java 开发,第 3 部分: 基于 DOM、JavaScript 和 JSP 标记文件构建 UI 特性
- (转)JAVA AJAX教程第二章-JAVASCRIPT基础知识