ajax
客户端:var xmlHttp;
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} else {
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
}
function getMessage() {
//alert("getmessage");
createXMLHttpRequest();
var d=new Date();
var time=d.getFullYear()+"-"+d.getUTCMonth()+"-"+d.getUTCDate()+" "+d.getHours()+":"+d.getMinutes()+":"+d.getSeconds();
//var strurl = "loadmsg"; //这个是在WEB.XML文件中配置的servlet。也可以写在Action中。EG:/loginAction.do
var strurl = "loadmsg?time="+time;
xmlHttp.open("GET", strurl, true);
xmlHttp.onreadystatechange = callback;
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=GBK");
xmlHttp.setRequestHeader("contentType","text/html;charset=GBK");
//xmlHttp.setRequestHeader("RequestType","ajax");
//var data = "time="+time+"&mapname="+MapName;
//data=encodeURI(data);
//data=encodeURI(data);
//xmlHttp.send(data);
xmlHttp.send(null);
theTimer = setTimeout("getMessage()", 7000);
}
function callback() {
//alert("readyState"+xmlHttp.readyState);
//alert("status"+xmlHttp.status);
if (xmlHttp.readyState == 4) {//end
if (xmlHttp.status == 200) {//http OK
//alert("callback!");
//clearRow();
var style,errip,err,time;
//返回responseXML是XML文件,如果是responseText是字符串
var nodes=xmlHttp.responseXML.getElementsByTagName("errmsg");
var xlen=xmlHttp.responseXML.getElementsByTagName("errmsg").length;
style=nodes.getElementsByTagName("style").firstChild.data;
}
服务器端:
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws IOException,
ServletException {
request.setCharacterEncoding("GBK");
StringBuffer responseXml = new StringBuffer(
"<?xml version='1.0' encoding='gb2312' standalone='no'?>");
responseXml.append("<response>");
//String mapname= new String(request.getParameter("mapname").getBytes("UTF-8"),"GBK");
String mapname= request.getParameter("mapname");
String tmpstr = java.net.URLEncoder.encode("",
"UTF-8");
System.out.println("tmpstr:" + tmpstr);
System.out.println("tmpstr:" +
java.net.URLDecoder.decode(tmpstr, "UTF-8"));
String time = (String) request.getParameter("time");
Calendar cal = Calendar.getInstance();
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
String mDateTime = formatter.format(cal.getTime());
ServersAndLinksXML salx = new ServersAndLinksXML();
List list = salx.getMapsList();
List link, server;
MapVo ompvo;
//test
System.out.println("list:" + list.size());
for (int i = 0; i < list.size(); i++) {
ompvo = (MapVo) list.get(i);
System.out.println("mapname1+++++++7" + mapname +
request.getCharacterEncoding());
System.out.println("getMap_name" + ompvo.getMap_name().toString()); //乱码问题
if (ompvo.getMap_name().equals(mapname)) {
//LINK信息添加到XML文件
link = ompvo.getLinksList();
Link olink = new Link();
System.out.println("link:" + link.size());
for (int l = 0; l < link.size(); l++) {
olink = (Link) link.get(l);
System.out.println(link.get(l).toString());
responseXml.append("<errmsg>");
responseXml.append("<style>LINK</style>");
responseXml.append("<errip>" + olink.getLinkMapID() +
"</errip>");
responseXml.append("<err>数据库中未检索到该IP的错误信息</err>");
responseXml.append("<time>" + time + "</time>");
responseXml.append("</errmsg>");
}
link.clear();
//SERVER信息添加到XML文件
server = ompvo.getServersList();
System.out.println("server:" + server.size());
Server oserver = new Server();
for (int m = 0; m < server.size(); m++) {
oserver = (Server) server.get(m);
System.out.println(oserver.getServerIP());
responseXml.append("<errmsg>");
responseXml.append("<style>SERVER</style>");
responseXml.append("<errip>" + oserver.getServerIP() +
"</errip>");
responseXml.append("<err>数据库中未检索到该IP的错误信息</err>");
responseXml.append("<time>" + time + "</time>");
responseXml.append("</errmsg>");
}
server.clear();
}
}
responseXml.append("</response>");
response.setContentType("text/xml;charset=gb2312");
response.getWriter().print(responseXml);
list.clear();
}
页:
[1]