dom解析xml文件存到数据库中,AJAX读取显示在页面上(3)(
来源:互联网 发布:如何查看软件源代码 编辑:程序博客网 时间:2024/04/29 02:05
AJAX处理查询的类:
package classmate;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//AJAX处理查询的类
public class SearchDataAction extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
}
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//设置输出信息的格式及字符集
response.setContentType("text/xml; charset=utf-8");
response.setHeader("Cache-Control", "no-cache");
//创建输出流对象
PrintWriter out = response.getWriter();
//依据验证结果输出不同的数据信息
out.println("<response>");
//数据库操作
DB db = new DB();
ResultSet rs;
String strSql=null;
strSql = "select * from student";
try{
rs = db.executeQuery(strSql);
while (rs.next()){
String name="";
String sex="";
String high="";
String height="";
String classid="";
if (rs.getString("name")==null){name="未命名";} else {name=rs.getString("name");}
if (rs.getString("sex")==null){sex="未命名";} else {sex=rs.getString("sex");}
if (rs.getString("high")==null){high="未命名";} else {high=rs.getString("high");}
if (rs.getString("height")==null){height="未命名";} else {height=rs.getString("height");}
if (rs.getString("classid")==null){classid="未命名";} else {classid=rs.getString("classid");}
out.println("<name>"+name+"</name>");
out.println("<sex>"+sex+"</sex>");
out.println("<high>"+high+"</high>");
out.println("<height>"+height+"</height>");
out.println("<classid>"+classid+"</classid>");
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
db.close();
} catch (Exception e) {
e.printStackTrace();
}
}
out.println("</response>");
out.close();
}
}
功能结束;
其他参考文件:
package classmate;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//生成xml文件的类
public class ReadXmlAction extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//设置输出信息的格式及字符集
response.setContentType("text/xml; charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
//创建输出流对象
PrintWriter out = response.getWriter();
//依据验证结果输出不同的数据信息
out.println("<response>");
out.println("<student>");
out.println("<name>" +"贾燕枫" + "</name>");
out.println("<tofel>" + "600" + "</tofel>");
out.println("<gre>" + "2000" + "</gre>");
out.println("</student>");
out.println("<student>");
out.println("<name>" +"贾燕枫" + "</name>");
out.println("<tofel>" + "600" + "</tofel>");
out.println("<gre>" + "2000" + "</gre>");
out.println("</student>");
out.println("</response>");
out.close();
}
}
读取xml并显示的jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<head>
<META http-equiv=Content-Type content="text/html; charset=UTF-8">
<LINK href="images/css.css" type=text/css rel=stylesheet>
</head>
<script language="javascript">
var XMLHttpReq;
//创建XMLHttpRequest对象
function createXMLHttpRequest() {
if(window.XMLHttpRequest) { //Mozilla 浏览器
XMLHttpReq = new XMLHttpRequest();
}
else if (window.ActiveXObject) { // IE浏览器
try {
XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
}
// 增加品牌函数
function sendRequest() {
var url = "MyXml.xml";
createXMLHttpRequest();
XMLHttpReq.onreadystatechange = processResponse;
XMLHttpReq.open("GET", url, true);
XMLHttpReq.send(null);
}
// 处理增加品牌响应函数
function processResponse() {
if (XMLHttpReq.readyState == 4) { // 判断对象状态
if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息
readXml();
} else { //页面不正常
window.alert("您所请求的页面有异常。");
}
}
}
function readXml() {
var students = XMLHttpReq.responseXML.getElementsByTagName_r("student");
for(var i=0;i<students.length;i++) {
var stud = students[i];
var name = stud.getElementsByTagName_r("name")[0].firstChild.data;
var sex = stud.getElementsByTagName_r("sex")[0].firstChild.data;
var high = stud.getElementsByTagName_r("high")[0].firstChild.data;
var height = stud.getElementsByTagName_r("height")[0].firstChild.data;
var classid = stud.getElementsByTagName_r("classid")[0].firstChild.data;
document.write(name + "<p>");
document.write(sex + "<p>");
document.write(high + "<p>");
document.write(height + "<p>");
document.write(classid + "<p>");
document.write("");
}
}
</script>
<table>
<input type="button" value="测试" onclick="sendRequest();"/>
</table>