Ajax 从servlet中读取xml数据
2012-11-24 15:26
477 查看
文件: XMLservlet.java
package servlet;
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;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
public class XMLServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String CONTENT_TYPE = "text/xml; charset=gb2312";
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
StringBuffer sb = new StringBuffer("<address>");
sb.append("<type_name>AAhl</type_name>");
sb.append("<type_name>BB</type_name>");
sb.append("<type_name>CC</type_name>");
sb.append("<type_name>DD</type_name>");
sb.append("</address>");
out.write(sb.toString());
out.close();
}
}
///////////////////////////
读取XMLservlet.java发送的 xml文件的 myAjax.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<html>
<head>
<script language="javascript">
var xmlHttp;
function createXMLHttp(){
if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}else{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
//到这里都是为了获取得到XMLHttpRequest对象
function getInfo(){
createXMLHttp();
xmlHttp.open("POST", "servlet/XMLServlet"); //建立到服务器的数据请求,这里请求一个名为“allarea.xml”文件
xmlHttp.onreadystatechange = getCityCallback ; //一个回调函数
xmlHttp.send(null); //想服务器发送的数据
}
function getCityCallback(){
if(xmlHttp.readyState == 4 ){
if(xmlHttp.status == 200){ //这里的俩个if语句是为了判断 请求是否已经完成
var allareaHLp = xmlHttp.responseText;
alert(allareaHLp);
var type = xmlHttp.responseXML.getElementsByTagName("type_name");
alert("---------");
var str=new Array();
for(var i=0;i<type.length;i++){
str[i]=type[i].firstChild.data;
alert(str[i]);
document.all['td'].innerHTML+=str[i]+"<BR>";
}
}
}
}
</script>
</head>
<body onload = "getInfo()">
<table width="80%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td id="td">
</td>
</tr>
</table>
</body>
</html>
关键是在servlet中生成 xml文件数据
package servlet;
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;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
public class XMLServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String CONTENT_TYPE = "text/xml; charset=gb2312";
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
StringBuffer sb = new StringBuffer("<address>");
sb.append("<type_name>AAhl</type_name>");
sb.append("<type_name>BB</type_name>");
sb.append("<type_name>CC</type_name>");
sb.append("<type_name>DD</type_name>");
sb.append("</address>");
out.write(sb.toString());
out.close();
}
}
///////////////////////////
读取XMLservlet.java发送的 xml文件的 myAjax.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<html>
<head>
<script language="javascript">
var xmlHttp;
function createXMLHttp(){
if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}else{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
//到这里都是为了获取得到XMLHttpRequest对象
function getInfo(){
createXMLHttp();
xmlHttp.open("POST", "servlet/XMLServlet"); //建立到服务器的数据请求,这里请求一个名为“allarea.xml”文件
xmlHttp.onreadystatechange = getCityCallback ; //一个回调函数
xmlHttp.send(null); //想服务器发送的数据
}
function getCityCallback(){
if(xmlHttp.readyState == 4 ){
if(xmlHttp.status == 200){ //这里的俩个if语句是为了判断 请求是否已经完成
var allareaHLp = xmlHttp.responseText;
alert(allareaHLp);
var type = xmlHttp.responseXML.getElementsByTagName("type_name");
alert("---------");
var str=new Array();
for(var i=0;i<type.length;i++){
str[i]=type[i].firstChild.data;
alert(str[i]);
document.all['td'].innerHTML+=str[i]+"<BR>";
}
}
}
}
</script>
</head>
<body onload = "getInfo()">
<table width="80%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td id="td">
</td>
</tr>
</table>
</body>
</html>
关键是在servlet中生成 xml文件数据
相关文章推荐
- echarts通过ajax向服务器发送post请求,servlet从数据库读取数据并返回前端
- ajax中用responseXML读取不到中文数据的问题
- AJAX用jquery解析servlet返回回来的XML 数据
- HTML/Ajax/XML数据交互:HTML通过Ajax读取XML的存储信息
- Ajax 动态(asp程序)无刷新读取(xml)数据
- jquery-ajax请求action读取oracle数据库clob字段xml数据格式化显示(struts2)
- jQuery基于Ajax实现读取XML数据功能示例
- echarts通过ajax向服务器发送post请求,servlet从数据库读取数据并返回前端
- 根据ajax发送数据,从servelt中读取xml数据并显示,实现查询、删除和分页
- ajax读取服务器端的xml数据 (转)
- 用ajax xml的数据读取的HelloWorld程序
- Ajax servlet 返回xml数据乱码问题
- Ajax处理XML,XMLHttpRequest对象的创建和访问servlet并返回xml数据到页面展示
- Ajax读取XML和JSON数据
- 通过ajax来读取xml里面的数据,以及查询好数据如何写入xml里去 来供ajax读取
- Ajax中XMLHttpRequest对象的创建和servlet中数据的交互
- Ajax请求Servlet返回文本 json html和XML数据并解析xml及responseText和responseXML的区别
- Ajax请求Servlet返回文本 json html和XML数据并解析xml及responseText和responseXML的区别
- 58-004-2 省级城市二级联动 ajax+servlet 通过xml传递数据.