jsp下实现js读取返回的XML内容

index.jsp文件如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
	var objXmlHttp=null;
	function CreateXMLHttp(){
		if(window.ActiveXObject){
			objXmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}else{
			if(window.XMLHttpRequest) {
				objXmlHttp=new XMLHttpRequest();
			}else{
				alert("初始化XMLHTTP错误!");
			}
		}
	}
	
	function GetSendData(){
		document.getElementById("dis").innerHTML="正在加载中。。。";
		var url="getAjax.do";
		CreateXMLHttp();
		objXmlHttp.open("GET", url, true);
		objXmlHttp.onreadystatechange=function(){
			if(objXmlHttp.readyState==4){
				if(objXmlHttp.status==200){
					document.getElementById("dis").innerHTML=objXmlHttp.responseXML.documentElement.getElementsByTagName("value")[0].firstChild.nodeValue;
				}
			}
		}
		objXmlHttp.send(null);
	}

</script>
</head>
<body>
	<input type="button" value="异步获取后台数据" onClick="GetSendData()"/>
	<p id="dis"></p>
</body>
</html>

  web.xml文件如下:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  version="3.0"
  metadata-complete="true">  

  <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>
	<servlet>
		<servlet-name>getAjax</servlet-name>
		<servlet-class>testAjax.GetAjaxData</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>getAjax</servlet-name>
		<url-pattern>/getAjax.do</url-pattern>
	</servlet-mapping>
</web-app>

  servlet源代码如下:

package testAjax;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class GetAjaxData
 */
@WebServlet("/GetAjaxData")
public class GetAjaxData extends HttpServlet {
	private static final long serialVersionUID = 1L;

    /**
     * Default constructor. 
     */
    public GetAjaxData() {
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		System.out.println("加载到Action");
		response.setContentType("text/xml;charset=UTF-8");
		PrintWriter out =response.getWriter();
		 out.println("<?xml version=\"1.0\" encoding=\"GB2312\" ?>");
	     out.println("<response>");
	     out.println("<name>psn</name>");
	     out.println("<value>value1</value>");
	     out.println("</response>");
	     
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request,response);
	}

}

开始页面如下:  

获得结果如下:

posted @ 2013-04-19 23:11  裴松年  阅读(724)  评论(0)    收藏  举报