浏览 3904 次
锁定老帖子 主题:Ajax方式发送XML及接收xml响应实例
精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (9)
|
|
---|---|
作者 | 正文 |
发表时间:2011-06-23
最后修改:2011-06-26
本文分两部分: 1.Ajax方式发送XML数据及xml响应的接收demo的下载和部署 2.源码分析 第一部分 Ajax方式发送XML数据及xml响应的接收demo的下载和部署 1.从以下地址下载demo的eclipse工程 http://dl.iteye.com/topics/download/600a3e0c-acf9-3288-a54b-77acf15d9b70 2.解压工程到指定的目录下,例如:d:/workspace/xmlrequest 3.将工程导入到eclipse,编译成功即可进入下一环节。 4.部署demo到tomcat 6(jdk 1.5以上),编写xmlrequest.xml文件,内容如下: <?xml version='1.0' encoding='gb2312'?> <Context docBase="D:\workspace\xmlrequest\WebRoot" path="/xmlrequest" debug="0" reloadable="false" privileged="true"> </Context> 将该文件放入tomcat的conf\Catalina\localhost目录下,即可 5.启动tomcat,在浏览器中输入以下地址,查看效果: http://localhost:8080/xmlrequest/xml/index.page 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-06-23
第二部分 源码分析
源代码分jsp页面,控制器java类,控制器mvc配置文件三块。用户使用jsp中的sendxml文本域发送需要的xml文本,然后服务器xml处理控制器接收到xml文本后直接将xml回显到jsp页面的xmlresult文本域中。 1.jsp代码-xmlrequest.jsp <%@ page contentType="text/html; charset=UTF-8" language="java" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>发送xml数据demo</title> <script type="text/javascript"> function sendxml() { var xmlhttp =null; if(window.ActiveXObject) { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if(window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); } else { return; } var xml = $("#sendxml").val(); xmlhttp.open("POST","echo.page"); xmlhttp.setRequestHeader("Content-Length",xml.length); xmlhttp.setRequestHeader("CONTENT-TYPE","text/xml;charset=UTF-8"); xmlhttp.onreadystatechange=function(){ if(xmlhttp.readyState == 4) { $("#xmlresult").val(xmlhttp.responseText); } } xmlhttp.send(xml); } </script> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <script type="text/javascript" src="<%=request.getContextPath() %>/include/jquery-1.4.4.min.js"></script> </head> <span id="checkboxtreecontainer"> <table><tr><td> 请输入要发送的xml内容:<input type="button" name="send" value="点击发送" onclick="sendxml()"> </td></tr> <tr><td> <textarea rows="5" cols="100" id="sendxml"><web><version>国产j2ee框架 bbossgroups 3.2</version></web></textarea> </td></tr> <tr><td> 来自服务器的xml响应: </td></tr> <tr><td> <textarea rows="5" cols="100" id="xmlresult"></textarea> </td></tr> </table> </span> </body> 用户可以在sendxml文本域发送需要的xml文本,然后服务器接收到文本后直接显示在xmlresult文本域中。 2.控制类XMLRequestController-接收到xml文本后直接将xml回显到jsp页面 源码如下,非常简单,包含进入输入界面和接收xml文本并回显给客服端两个控制器方法: package org.frameworkset.web.xml; import org.frameworkset.util.annotations.RequestBody; import org.frameworkset.util.annotations.ResponseBody; /** * <p>XMLRequestController.java</p> * <p> Description: </p> * <p> bboss workgroup </p> * <p> Copyright (c) 2009 </p> * * @Date 2011-6-22 * @author biaoping.yin * @version 1.0 */ public class XMLRequestController { public @ResponseBody(charset="UTF-8") String echo(@RequestBody String xml) { System.out.println(xml); return xml; } public String index() { return "path:index"; } } |
|
返回顶楼 | |
发表时间:2011-06-23
3.MVC控制器配置文件-bboss-xml.xml
该文件的内容也非常简单,包含控制器的url映射配置,跳转到xml输入页面的路径配置以及控制器的实现类配置。 <?xml version="1.0" encoding='gb2312'?> <properties> <property name = "/xml/*.page" path:index="/xml/xmlrequest.jsp" class="org.frameworkset.web.xml.XMLRequestController" /> </properties> |
|
返回顶楼 | |
发表时间:2011-06-23
终于沙发了,貌似功能非常强大!
|
|
返回顶楼 | |
发表时间:2011-06-25
呵呵,这个功能很实用!
|
|
返回顶楼 | |
发表时间:2011-06-29
ainidehsj 写道 呵呵,这个功能很实用!
实用是bbossgroups项目的始终追求的最高目标。 |
|
返回顶楼 | |
发表时间:2011-07-09
bbossgroups项目新域名开通:
http://www.bbossgroups.com |
|
返回顶楼 | |