客户端发送请求、以及处理服务端响应代码为:
//发送xml请求
URL url = new URL("http://127.0.0.1:8080/Test/sendXmlAndReturnXml.do");
String xml = "<aaa><ddd>cccccc客户端请求的xml数据cccccccc</ddd></aaa>";
URLConnection conn = null;
conn = url.openConnection();
conn.setUseCaches(false);
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestProperty("Content-Length", Integer.toString(xml.length()));
conn.setRequestProperty("Content-Type", "text/xml; charset=utf-8");
OutputStream ops = conn.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(ops, "GBK");
osw.write(xml);
osw.flush();
osw.close();
//发送成功后,获取服务器的响应xml串:
StringBuffer sb = new StringBuffer();
String line = "";
InputStream is = conn.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));//三层包装
while ((line = br.readLine()) != null) {
sb.append(line+ "\r\n");
}
System.out.println(sb.toString());
服务端代码为:
@Controller
public class TestXMLAction {
@RequestMapping("/sendXmlAndReturnXml.do")
public void sendXmlAndReturnXml(HttpServletRequest request, HttpServletResponse response) throws IOException{
//获取请求的xml
System.out.println("请求的xml数据为:\n" + getXmlFromRequest(request));
//服务端响应xml数据
response.getWriter().print("<aaa><ddd>bbbccc服务端返回响应xml数据,在客户端可以获取到</ddd></aaa>");
}
//从HTTP请求中取出请求的XML
private String getXmlFromRequest(HttpServletRequest request)throws IOException {
String reqXml = "";
reqXml = request.getQueryString(); //GET请求
if (StringUtils.isBlank(reqXml)) { //POST请求
BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream()));
String line = null;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {
sb.append(line);
}
br.close();
reqXml = sb.toString();
}
return reqXml;
}
}
分享到:
相关推荐
至此,我们已经成功地使用Java的HttpClient库将一个对象转换为XML字符串,并以二进制流的方式发送到了服务器。这个过程中涉及的关键技术包括对象到XML的转换(JAXB)、流操作(ByteArrayOutputStream和...
首先,HTTPClient是Apache提供的一款强大的Java HTTP客户端API,它允许开发者发送HTTP请求并接收响应,支持各种HTTP方法,如GET、POST等。在本场景中,我们关注的是POST方法,它是HTTP协议中用于传输大量数据的一种...
例如,使用jQuery的`$.ajax`或`$.getJSON`方法,构建一个请求,将JSON对象作为数据发送,并设置请求类型为'POST'或'GET'。 接下来,我们将深入探讨如何实现AJAX和Struts2之间的JSON交互: **前端(客户端)实现**...
数据来源于`moviemodel.movieList.subPointedDataList`,这是通过BlazeDS从Java服务端获取并绑定到图表的。`showDataTips="true"`使得鼠标悬停在柱状图上时显示详细数据提示。 通过以上讲解,我们可以看到Flex+Java...
通过`executeMethod`方法发送请求,并检查响应状态码是否为200(OK),如果是,则返回响应体。 #### 3. 发送POST请求 同样地,`doPost`方法展示了如何使用Apache HttpClient发送POST请求。 ```java public static...
Ajax通过JavaScript创建XMLHttpRequest对象来实现这一功能,而Servlet是Java Web应用中的一个组件,用于处理来自客户端的请求并返回响应。 在Ajax请求中发送汉字,需要关注字符编码问题。默认情况下,Ajax请求的...
这是一个质的区别:网页将数据和显示混在一起,而XML则将数据和显示分开来。 我们看上面的例子,在myfile.htm中,我们只关心页面的显示方式,我们可以设计不同的界面,用不同的方式来排版页面,但数据是储存在...
- **发送请求**:将数据序列化为JSON格式并发送。 ```javascript var data = {key: 'value'}; xhr.setRequestHeader('Content-Type', 'application/json'); xhr.send(JSON.stringify(data)); ``` 4. **从页面...
设置请求方法(GET或POST)、URL、数据(如果需要发送数据给后端)以及回调函数来处理响应。 4. **处理响应**:后端接收到请求后执行SQL查询,然后将查询结果转化为JSON格式返回给前端。前端的AJAX回调函数会接收到...
服务器端负责处理来自多个客户端的连接请求,维护用户状态,转发消息,并确保数据的安全性。客户端则用于用户交互,接收和发送消息,以及进行文件传输。 在Java中,服务器端通常使用Socket编程来创建网络连接。...
- 网络请求可能会失败,需要检查`HttpResponse`的`getStatusLine()`,根据返回的状态码判断请求是否成功,并处理异常。 8. **网络权限**: - 记得在AndroidManifest.xml中添加网络权限: ```xml ``` 理解并...
如果需要发送JSON或XML数据,可以使用对应的编码方式,并设置正确的`Content-Type`。 3. **PHP接收数据**:服务器端的PHP脚本需要解析接收到的数据。对于`application/x-www-form-urlencoded`数据,可以使用`$_POST...
例如,将上面的JSON对象作为POST请求的数据发送: ```javascript var xhr = new XMLHttpRequest(); xhr.open('POST', 'http://example.com/api/user'); xhr.setRequestHeader('Content-Type', 'application/json');...
Servlet运行在服务器端,处理客户端发送的数据,然后返回相应的响应。在这个项目中,Servlet被用来处理用户请求,如登录验证、图书查询、添加或删除图书等操作,实现业务逻辑的处理。 Ajax(Asynchronous ...
在Web应用中,Servlet处理HTTP请求并返回响应。在本项目中,Servlet负责接收Ajax请求,处理短信验证码的发送。 ### 短信验证流程 1. **用户输入手机号**:用户在登录界面输入手机号码。 2. **发送请求**:使用...
标题 "axis2传送list资源包" 涉及的核心知识点是使用Apache Axis2框架来处理并传输包含List格式数据的资源。Apache Axis2是Java Web服务(Web Services)的一个实现,它提供了高度可扩展和高性能的环境来创建和部署...
Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非...
2. **Model-View-Controller**:SpringMVC中的模型由业务对象组成,视图负责展示数据,而控制器则处理用户请求,调用业务逻辑并更新模型。 **二、数据库连接** 1. **JDBC连接**: 不使用Hibernate时,我们会直接...
XmlHttp是一套可以在java script、VbScript、Jscript等脚本语言中通过http协议传送或从接收XML及其他数据的一套API。XmlHttp最大的用处是可以更新网页的部分内容而不需要刷新整个页面。来自MSDN的解释:XmlHttp提供...
Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 ...