简单演示Http SERVER,CLIENT发送接收xml的流程。
XMLSERVER:
监听某端口:接收xml,并解析。
public class XmlServer {
private int port;
public XmlServer() {
}
public XmlServer(int port) {
this.port = port;
}
public void start(){
try {
HttpServer server = HttpServer.create(new InetSocketAddress(port), 0);
server.createContext("/",new HttpHandler() {
@Override
public void handle(HttpExchange he) throws IOException {
try {
String ip = he.getRemoteAddress().getAddress().getHostAddress();
System.out.println(ip);
InputStream input_stream = he.getRequestBody();
// BufferedReader reader = new BufferedReader(new InputStreamReader(input_stream));
// StringBuilder str_builder = new StringBuilder();
//
// String line = null;
//
// while ((line = reader.readLine()) != null)
// {
// str_builder.append(line + "\n");
// }
//
// System.out.println("接收:"+str_builder);
SAXReader saxReader = new SAXReader();
Document document = saxReader.read(new InputStreamReader(input_stream));
Element rootElm = document.getRootElement();
String username = rootElm.element("username").getText();
String password = rootElm.element("password").getText();
System.out.println(username);
System.out.println(password);
//登录,
String ret = "OK";
he.sendResponseHeaders(200, ret.getBytes("utf-8").length);
OutputStream os = he.getResponseBody();
os.write(ret.getBytes());
os.close();
} catch (Exception e) {
e.printStackTrace();
}
}
});
server.start();
System.out.println("开始监听"+port+"端口");
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new XmlServer(9988).start();
}
}
XmlClient:
发送请求
[java] view plaincopy
public class XmlClient {
public static void main(String[] args) {
try {
String xml = "<?xml version='1.0' encoding='utf-8'?>" +
"<message>" +
"<username>ayli</username>" +
"<password>liya</password>" +
"</message>";
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://localhost:9988");
StringEntity entity = new StringEntity(xml, "text/html", "utf-8");
post.setEntity(entity);
ResponseHandler<String> response = new BasicResponseHandler();
String ret = client.execute(post, response);
System.out.println(ret);
} catch (Exception e) {
e.printStackTrace();
}
}
}
注:需要dom4j-1.6,httpclient-4.1相关的jar包
分享到:
相关推荐
本项目"HttpServer.zip"提供了一个独特的实现,它是一个全网唯一的基于Java编写的完整HTTP Servlet服务器,具备通过XML灵活配置的能力,同时支持HTTPS安全通信。下面我们将深入探讨这个项目中的关键技术点。 一、...
ETL KETTLE 中利用Httpclient 调用webservice接口获取XML数据,并解析XML 数据。 完整的KTR实例
2) 配置 tomcat 服务器支持 SSL:在 Tomcat 配置文件 `server.xml` 中启用 SSL,指定 KeyStore 文件路径和密码。 3) 用浏览器访问你的应用:配置完成后,可以通过 HTTPS 协议访问应用以验证 SSL 配置是否正确。 4...
- 打开`%TOMCAT_HOME%/conf/server.xml`,在`<Server>`标签内添加一个新的`<Connector>`标签,配置SSL连接器: ```xml SSLEnabled="true" URIEncoding="UTF-8" clientAuth="false" keystoreFile="conf/...
在Java编程中,HttpClient是一个非常重要的工具,它允许开发者实现HTTP协议的各种功能,包括文件的上传和下载。HttpClient模拟客户端传输文件是Java开发中的常见需求,尤其在与服务器进行交互时,例如上传用户数据、...
1.全网唯一的Java 实现根据http请求协议源码的独立HttpServer 服务,无需首先web、webservice 等问题,自由注册。自由访问; 2.灵活的可配置的xml 文件 3.使用只需要一个jar 包 和一个xml 引入即可,支持多端口、多...
在Tomcat的server.xml中,你需要配置`Connector`元素以启用SSL,并指向生成的KeyStore文件。 #### 3) 用浏览器访问你的应用 完成上述配置后,可以通过HTTPS协议访问你的应用。 #### 4) 用HttpClient访问HTTPS ...
在Android开发中,HTTPClient是实现网络访问的重要工具,它允许应用程序通过HTTP协议与服务器进行交互,发送请求并接收响应。本项目中的"HTTPclient"可能是针对Android平台封装的一个网络库,用于简化网络请求的处理...
在Java编程中,HttpClient库是Apache提供的一款强大的HTTP客户端工具,用于执行HTTP和HTTPS请求。在某些场景下,比如开发测试或调试时,我们可能需要模拟上传文件到HTTPS服务器,而这个过程可能会遇到SSL(Secure ...
- 配置 tomcat 服务器支持 SSL:修改 tomcat 的 server.xml 文件,配置 SSL Connector,并指定 KeyStore 的路径和密码。 - 浏览器访问:使用浏览器访问配置了 SSL 的应用,确认正常工作。 - 用 HttpClient 访问 ...
然后,使用XML-RPC服务器启动器(如`org.apache.xmlrpc.server.XmlRpcServerServlet`)将这个类注册到服务器上,使它们可以通过HTTP请求访问。 2. **客户端**:在客户端,使用XML-RPC客户端API(如`org.apache....
1. **WebServer网络访问**:cocos2d-x提供了`HttpClient`类,它是网络访问的基础。你可以创建一个`HttpClient`实例,然后设置请求方法(GET、POST等)、URL、请求头以及POST数据。通过调用`send`方法发起请求,并...
在“Http_Xml_Server”和“Http_Xml_Client”这两个文件名中,我们可以推测这是一个关于通过HTTP协议交换XML数据的示例。通常,服务器端会提供一个API接口,接收客户端发送的XML请求,处理后返回XML响应。客户端则...
在尝试安装BIMServer时,可能会遇到各种依赖问题,其中之一就是"dependency org.apache.httpcomponents:httpclient is not installed"。这个错误信息提示我们,BIMServer的构建或运行依赖于Apache HttpClient库,但...
本文将深入探讨如何使用Jetty Servlet容器和Apache HttpClient库来构建一个简单的Java HTTP代理。这两个组件都是Java Web开发中的重要工具,Jetty提供了一个轻量级、高效的Servlet容器,而HttpClient则是进行HTTP...
C#可以使用ADO.NET(如`SqlConnection`、`SqlCommand`等)与SQL Server或其他数据库进行交互,或者使用ORM框架如Entity Framework简化操作。以下是一个简单的例子: ```csharp using System.Data.SqlClient; // ...
为了演示如何使用UnityHttpClient,我们需要创建一个简单的HTTP服务器。这里我们使用Visual Studio建立一个网站,并在其中添加一个XML文件(Test.xml)和一个PNG图片(test.png)。XML文件用于存储测试数据,PNG图片...
由于其简单易用且跨平台特性,XML-RPC被广泛应用于分布式计算环境中,用于实现服务之间的通信。 #### 二、Apache XML-RPC 特性介绍 Apache XML-RPC 是一个基于Java的开源XML-RPC服务器和客户端库。它提供了强大的...