加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

/Ajax_XML_JSON

发布时间:2020-12-16 02:04:43 所属栏目:百科 来源:网络整理
导读:com.ajax.entity.UserInfo: packagecom.ajax.entity;publicclassUserInfo{privateStringuserId;privateStringuserName;/***@returntheuserId*/publicStringgetUserId(){returnuserId;}/***@paramuserIdtheuserIdtoset*/publicvoidsetUserId(StringuserId){th

com.ajax.entity.UserInfo:

packagecom.ajax.entity;

publicclassUserInfo{
	privateStringuserId;
	privateStringuserName;
	/**
	*@returntheuserId
	*/
	publicStringgetUserId(){
		returnuserId;
	}
	/**
	*@paramuserIdtheuserIdtoset
	*/
	publicvoidsetUserId(StringuserId){
		this.userId=userId;
	}
	/**
	*@returntheuserName
	*/
	publicStringgetUserName(){
		returnuserName;
	}
	/**
	*@paramuserNametheuserNametoset
	*/
	publicvoidsetUserName(StringuserName){
		this.userName=userName;
	}
	
	
	publicUserInfo(StringuserId,StringuserName){
		this.userId=userId;
		this.userName=userName;
	}
	
}

com.ajax.servlet.JsonServlet:

packagecom.ajax.servlet;

importjava.io.IOException;
importjava.io.PrintWriter;
importjava.util.ArrayList;
importjava.util.List;

importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;

importcom.ajax.entity.UserInfo;

/**
*ServletimplementationclassJsonServlet
*/
publicclassJsonServletextendsHttpServlet{
	privatestaticfinallongserialVersionUID=1L;

/**
*@seeHttpServlet#HttpServlet()
*/
publicJsonServlet(){
super();
//TODOAuto-generatedconstructorstub
}

	/**
	*@seeHttpServlet#doGet(HttpServletRequestrequest,HttpServletResponseresponse)
	*/
	protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
		doPost(request,response);
	}

	/**
	*@seeHttpServlet#doPost(HttpServletRequestrequest,HttpServletResponseresponse)
	*/
	protectedvoiddoPost(HttpServletRequestrequest,IOException{
		//设置编码格式
		response.setContentType("text/html;charset=utf-8");
		request.setCharacterEncoding("utf-8");
		PrintWriterout=response.getWriter();
		List<UserInfo>users=getUsers();
		out.print("[");
		for(inti=0;i<users.size()-1;i++){
			out.print("{id:'"+users.get(i).getUserId()+"',name:'"+users.get(i).getUserName()+"'},");
		}
		out.print("{id:'"+users.get(users.size()-1).getUserId()+"',name:'"+users.get(users.size()-1).getUserName()+"'}");
		out.print("]");
		
		out.flush();
		out.close();
	}
	
	/**
	*构建用户信息
	*/
	privateList<UserInfo>getUsers(){
		List<UserInfo>users=newArrayList<UserInfo>();
		UserInfouser=newUserInfo("U014","欧阳公");
		UserInfouser1=newUserInfo("U024","东门吹吹");
		UserInfouser2=newUserInfo("U044","西门庆");
		UserInfouser3=newUserInfo("U074","网看看");
		
		users.add(user);
		users.add(user1);
		users.add(user2);
		users.add(user3);
		
		returnusers;
	}

}

com.ajax.servlet.XmlServlet:

packagecom.ajax.servlet;

importjava.io.IOException;
importjava.io.PrintWriter;
importjava.util.ArrayList;
importjava.util.List;

importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;

importcom.ajax.entity.UserInfo;

/**
*ServletimplementationclassXmlServlet
*/
publicclassXmlServletextendsHttpServlet{
	privatestaticfinallongserialVersionUID=1L;

/**
*@seeHttpServlet#HttpServlet()
*/
publicXmlServlet(){
super();
//TODOAuto-generatedconstructorstub
}

	/**
	*@seeHttpServlet#doGet(HttpServletRequestrequest,IOException{
		//设置编码格式
		response.setContentType("text/xml;charset=utf-8");
		request.setCharacterEncoding("utf-8");
		PrintWriterout=response.getWriter();
		List<UserInfo>users=getUsers();
		out.print("<?xmlversion='1.0'encoding='UTF-8'?>");
		out.print("<userInfos>");
		for(UserInfouser:users){
			out.print("<userid='"+user.getUserId()+"'>"+user.getUserName()+"</user>");
		}
		out.print("</userInfos>");
		out.flush();
		out.close();
	}
	
	
	/**
	*构建用户信息
	*/
	privateList<UserInfo>getUsers(){
		List<UserInfo>users=newArrayList<UserInfo>();
		UserInfouser=newUserInfo("U014","网看看");
		
		users.add(user);
		users.add(user1);
		users.add(user2);
		users.add(user3);
		
		returnusers;
	}

}

/Ajax_XML_JSON/WebContent/json.jsp:

<%@pagelanguage="java"contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=UTF-8">
<title>Inserttitlehere</title>
<scripttype="text/javascript">
	//定义全局异步请求对象的句柄
	varxmlHttpRequest;
	
	//定义创建异步请求对象的函数
	functioncreateXMLHttpRequest(){
		if(window.XMLHttpRequest){
			xmlHttpRequest=newXMLHttpRequest();
		}elseif(winodw.ActiveXObject){
			try{
				xmlHttpRequest=newActiveXObject("Microsoft.XMLHTTP");
			}catch(e){
				xmlHttpRequest=newActiveXObject("Msxml2.XMLHTTP");
			}
		}
	}
	
	//定义发送请求的函数
	functionsendRequest(){
		if(xmlHttpRequest==null){
			createXMLHttpRequest();
		}
		
		//指定请求得到响应后处理响应结果的回调函数
		xmlHttpRequest.onreadystatechange=callBack;
		//打开请求
		xmlHttpRequest.open("GET","jsonServlet");
		//发送请求
		xmlHttpRequest.send(null);
	}
	
	//定义回调函数
	functioncallBack(){
		if(xmlHttpRequest.readyState==4&&xmlHttpRequest.status==200){
			alert(xmlHttpRequest.responseText);
			//把json字符串转换为JS对象
			varuserInfos=eval("("+xmlHttpRequest.responseText+")");
			varcontent="id----------------name<br/>";
			for(vari=0;i<userInfos.length;i++){
				varid=userInfos[i].id;
				varname=userInfos[i].name;
				content+=id+"----------------"+name+"<br/>";
			}
			document.getElementById("msg").innerHTML=content;
		}
	}
</script>
</head>
<body>
	<fieldsetstyle="width:50%">
		<legend>Ajax解析JSON</legend>
		<inputtype="button"value="ajax解析JSON"onclick="sendRequest();"/><br/>
		<divid="msg"></div>
	</fieldset>
	
</body>
</html>

/Ajax_XML_JSON/WebContent/xml.jsp:

<%@pagelanguage="java"contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=UTF-8">
<title>Inserttitlehere</title>
<scripttype="text/javascript">
	//定义全局异步请求对象的句柄
	varxmlHttpRequest;
	
	//定义创建异步请求对象的函数
	functioncreateXMLHttpRequest(){
		if(window.XMLHttpRequest){
			xmlHttpRequest=newXMLHttpRequest();
		}elseif(winodw.ActiveXObject){
			try{
				xmlHttpRequest=newActiveXObject("Microsoft.XMLHTTP");
			}catch(e){
				xmlHttpRequest=newActiveXObject("Msxml2.XMLHTTP");
			}
		}
	}
	
	//定义发送请求的函数
	functionsendRequest(){
		if(xmlHttpRequest==null){
			createXMLHttpRequest();
		}
		
		//指定请求得到响应后处理响应结果的回调函数
		xmlHttpRequest.onreadystatechange=callBack;
		//打开请求
		xmlHttpRequest.open("GET","xmlServlet");
		//发送请求
		xmlHttpRequest.send(null);
	}
	
	//定义回调函数
	functioncallBack(){
		if(xmlHttpRequest.readyState==4&&xmlHttpRequest.status==200){
			//alert(xmlHttpRequest.responseXML);
			//获取xml文件根节点元素对象
			varrootElement=xmlHttpRequest.responseXML;
			
			//获取根节点下面所有子节点对象
			varuserInfos=rootElement.getElementsByTagName("user");
			
			//解析获取的子节点组成数组
			/*<userInfos>
				<userid="U014">欧阳公</user>
				<userid="U024">东门吹吹</user>
				<userid="U044">西门庆</user>
				<userid="U074">网看看</user>
			</userInfos>*/
			//userInfos[i].getAttribute("id")获取当前遍历元素id属性对应值
			//userInfos[i].firstChild.nodeValue获取当前遍历元素第一个子节点对应值
			varcontent="id-----------------name<br/>";
			for(vari=0;i<userInfos.length;i++){
				//alert("id:"+userInfos[i].getAttribute("id")+"name:"+userInfos[i].firstChild.nodeValue);
				varid=userInfos[i].getAttribute("id");
				varname=userInfos[i].firstChild.data;
				content+=id+"-----------------"+name+"<br/>";
			}
			
			document.getElementById("msg").innerHTML=content;
		}
	}
</script>
</head>
<body>
	<fieldsetstyle="width:50%">
		<legend>Ajax解析XML</legend>
		<inputtype="button"value="ajax解析XML"onclick="sendRequest();"/><br/>
		<divid="msg"></div>
	</fieldset>
	
</body>
</html>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读