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>

原创粉丝点击