八、分析XML响应并重画屏幕
parseMessages()函数首先提取XML响应
response = req.responseXML;
然后,它提取有关警告状态,警告文本和重试间隔等的元素:
itemStatus = response.getElementsByTagName('status')[0].firstChild.nodeValue;
itemText = response.getElementsByTagName('textBody')[0].firstChild.nodeValue;
callbackTimeout = parseInt(response.getElementsByTagName('callBack')[0].firstChild.nodeValue);
然后,警告文本被重画到adminBanner文档元素(见上):
document.getElementById("adminBanner").innerHTML= itemText;
该警告消息显示在如图3所示的屏幕上。

图3 重画的屏幕
九、Servlet格式化XML响应
为了使浏览器把管理警告显示给用户,需要使用XMLHttpRequest来请求管理状态。
当浏览器发送请求时,该servlet使用MBean助理来检查警告状态并且,如果一警告可用,即构建一个XML文档作为响应。
如果没有返回状态,那么响应状态被设置如下:
response.setStatus(HttpServletResponse.SC_NO_CONTENT);
否则,该文本/XML响应类型被设置为:
response.setContentType("text/xml");
列表2显示了完整的servlet方法。
当该servlet被调用并且返回XML内容时,控制台应该打印出:
Received alert: alert.broadcast
<message>
<status>1</status>
<textBody>
<![CDATA[System Down in 10 Minutes]]>
</textBody>
<callBack>10000</callBack>
</message>
十、容量建模和安全性
因为AJAX以有趣的方式开通了架构,所以存在两个关键方面要求加以考虑:
·容量建模
·安全性
当然,缓冲和响应消息类型(XML或文本)也都是比较重要的。
