jsp Ajax请求(返回xml数据类型)

时间:2023-03-10 06:50:01
jsp Ajax请求(返回xml数据类型)
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head> <title>My JSP page</title> <script> function addText(){
//创建XMLHttpRequest 请求的对象
var request = new XMLHttpRequest();
// 请求的方式
var method = "GET";
// 请求的连接地址
var url = "AServlet";
// 初始化请求参数
request.open(method, url,true);
// 发送请求
request.send(null);
request.onreadystatechange = function(){
// 如果响应请求
if(request.readyState==4){
// 如果请求成功
if(request.status==200 || request.status==304){ var text = request.responseXML;
var province = text.getElementsByTagName("province")[0];
//解析xml
alert(province);
var span = document.getElementsByTagName("span")[0];
span.appendChild(province);
}
}
}; } </script> </head> <body>
<h1>解析xml</h1>
<span>省份:</span><br>
<a href="#" onclick="addText()">添加文本</a>
</body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <servlet>
<servlet-name>AServlet</servlet-name>
<servlet-class>ajax.AServlet</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>AServlet</servlet-name>
<url-pattern>/AServlet</url-pattern>
</servlet-mapping> </web-app>
package ajax;

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; public class AServlet extends HttpServlet { private static final long serialVersionUID = 1L; public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { System.out.println("doGet...");
//设置编码
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
//设置返回文本的类型
response.setContentType("text/xml");
String str="<user>"
+ "<name>lf</name>"
+ "<address>"
+ "<province>广东</province>"
+ "<city>深圳</city>"
+ "</address>"
+ "</user>"; response.getWriter().print(str); } }