我的jsp代码是这样的:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="com.xhq.rfid.*"%>
<%@ page import="java.util.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta http-equiv="refresh" content="3">
<title>无标题文档</title>
<style type="text/css">
<!--
.STYLE1 {font-size: 16px}
-->
</style>
<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() {              createXMLHttpRequest();            var url = "refresh";              XMLHttpReq.open("GET", url, true);              XMLHttpReq.onreadystatechange = processResponse;//指定响应函数              XMLHttpReq.send(null);  // 发送请求       }       // 处理返回信息函数       function processResponse() {       if (XMLHttpReq.readyState == 4) { // 判断对象状态              if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息                        DisplayHot();                        setTimeout("sendRequest()", 1000);              } else { //页面不正常                   // window.alert("您所请求的页面有异常。");              }         }      }      // 显示更新数据信息的函数      function DisplayHot() {            var rader = XMLHttpReq.responseXML.getElementsByTagName("reader"). firstChild.data;            var antenna = XMLHttpReq.responseXML.getElementsByTagName("antenna")[0]. firstChild.data;
            
            var id = XMLHttpReq.responseXML.getElementsByTagName("id")[0]. firstChild.data;
                        
            var room = XMLHttpReq.responseXML.getElementsByTagName("room")[0]. firstChild.data;
                                    
            var time = XMLHttpReq.responseXML.getElementsByTagName("time")[0]. firstChild.data;            document.getElementById("reader1").innerHTML = rader;                document.getElementById("antenna1").innerHTML = antenna; 
            
            document.getElementById("id1").innerHTML = id;
            
            document.getElementById("room1").innerHTML = room;
            
            document.getElementById("time1").innerHTML = time;      } </script></head><body onload=sendRequest()>
<form action="" method="get" name="form7" id="form7" style="left:0,top:0">
<table width="70%" border="0" height="60" cellspacing="0">
  <tr>
    <th bgcolor="#0099FF" width="10%"><span class="STYLE1">Reader</span></th>
    <th bgcolor="#00CCFF" width="10%"><span class="STYLE1">Antenna</span></th>
    <th bgcolor="#0099FF" width="50%"><span class="STYLE1">ID</span></th>
    <th bgcolor="#00CCFF" width="10%"><span class="STYLE1">Room</span></th>
    <th bgcolor="#0099FF" width="20%"><span class="STYLE1">Time</span></th>
  </tr>
  <tr>
    <td id="reader1"></td>
    <td id="antenna1"></td>
    <td id="id1"></td>
    <td id="room1"></td>
    <td id="time1"></td>
  </tr>
</table></form>
</body>
</html>
后面的server是这样的!
package com.xhq.rfid;import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;import javax.servlet.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class xmlserlert extends HttpServlet {      public void init(ServletConfig config) throws ServletException {   }     /*    *  处理<GET> 请求方法    */
    
   public tagbean tag=new tagbean("1","1","1","1","1");
   
  
   
   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>");             //数据库操作      opendb db = new opendb();       ResultSet rs;      String strSql=null;      //查询最新读到的标签      strSql = "select * from Tags order by Time desc";        rs = db.executeQuery(strSql);        try {              if ( rs.next()) {
               
               if(!(tag.ID.equals(rs.getString(1))&&tag.Antenna.equals(rs.getString(2))&&tag.ID.equals(rs.getString(3))&&tag.Room.equals(rs.getString(4))&&tag.Time.equals(rs.getString(5))))
               
               {                      out.println("<reader>" + rs.getString(1) + "</reader>");                      out.println("<antenna>" + rs.getString(2) + "</antenna>");
                      
                      out.println("<id>" + rs.getString(3) + "</id>");
                      
                      out.println("<room>" + rs.getString(4) + "</room>");
                      
                      out.println("<time>" + rs.getString(5) + "</time>");
                      
                      System.out.println(rs.getString(1));
                      System.out.println(rs.getString(2));
                      System.out.println(rs.getString(3));
                      System.out.println(rs.getString(4));
                      System.out.println(rs.getString(5));
                      
               tag.setID(rs.getString(1));
               tag.setAntenna(rs.getString(2));
               tag.setID(rs.getString(3));
               tag.setRoom(rs.getString(4));
               tag.setTime(rs.getString(5));
               }              
              }        } catch (SQLException e) {              e.printStackTrace();        }        out.println("</response>");        out.close();  }}
我的web配置是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <context-param>
    <param-name>javax.faces.CONFIG_FILES</param-name>
    <param-value>/WEB-INF/faces-config.xml</param-value>
  </context-param>
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.faces</url-pattern>
  </servlet-mapping>
  
  <servlet>          <servlet-name>ms1</servlet-name>          <servlet-class>com.xhq.rfid.xmlserlert</servlet-class>     </servlet>     <servlet-mapping>          <servlet-name>ms1</servlet-name>          <url-pattern>/refresh</url-pattern>    </servlet-mapping>  <!-- The Welcome File List -->  <welcome-file-list>    <welcome-file>test3.jsp</welcome-file>  </welcome-file-list>
  
</web-app>

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【xuhuiqiang】截止到2008-07-27 21:25:35的历史汇总数据(不包括此帖):
    发帖的总数量:3                        发帖的总分数:10                       每贴平均分数:3                        
    回帖的总数量:0                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:1                        结贴的总分数:5                        
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:2                        未结的总分数:5                        
    结贴的百分比:33.33 %               结分的百分比:50.00 %                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    楼主该结一些帖子了
      

  2.   

    但是,在ECLIPSE又能够打印出来rs.getstring(1)rs.getstring(2)rs.getstring(3)rs.getstring(4)rs.getstring(5)
      

  3.   

    有可能是缓存问题,你先在url后面加个new Date( );
    open("get",url+"?"+new Date( ),true);
      

  4.   

    我认为你后台xml组织有问题
    1、没头。 XML_HEAD = "<?xml version = \"1.0\" encoding = \"GBK\"?>"
    2、没根节点 直接<reader></reader>.....
       应该把内容放在一个根节点下
       <Response>
          <reader></reader>.....
      </Response>
    3、应看一下前台返回的数据, 在DisplayHot()方法中alert(rader);
      

  5.   

      var rader = XMLHttpReq.responseXML.getElementsByTagName("reader"). firstChild.data;            var antenna = XMLHttpReq.responseXML.getElementsByTagName("antenna")[0]. firstChild.data; 这个 reader 也要是("reader")[0]有个问题,你把所有记录的元素不加区分都作为<response>的子元素,那你只能输出一条记录的信息<RESPONSE>
        <RECORD><reader>..</reader><antenna>..</antenna>........</RECORD>
        <RECORD><reader>..</reader><antenna>..</antenna>........</RECORD>
        ....................
        <RECORD><reader>..</reader><antenna>..</antenna>........</RECORD>
    </RESPONSE>这样的结构才能输出多条吧