我的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>
<%@ 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>
楼主【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 %
楼主该结一些帖子了
open("get",url+"?"+new Date( ),true);
1、没头。 XML_HEAD = "<?xml version = \"1.0\" encoding = \"GBK\"?>"
2、没根节点 直接<reader></reader>.....
应该把内容放在一个根节点下
<Response>
<reader></reader>.....
</Response>
3、应看一下前台返回的数据, 在DisplayHot()方法中alert(rader);
<RECORD><reader>..</reader><antenna>..</antenna>........</RECORD>
<RECORD><reader>..</reader><antenna>..</antenna>........</RECORD>
....................
<RECORD><reader>..</reader><antenna>..</antenna>........</RECORD>
</RESPONSE>这样的结构才能输出多条吧