`
yasenagat
  • 浏览: 1263 次
社区版块
存档分类
最新评论

简单的Httpserver,Httpclient,xml

    博客分类:
  • java
阅读更多
简单演示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包
0
1
分享到:
评论

相关推荐

    HttpServer.zip_http servlet server_httpclient_http服务器_java https

    本项目"HttpServer.zip"提供了一个独特的实现,它是一个全网唯一的基于Java编写的完整HTTP Servlet服务器,具备通过XML灵活配置的能力,同时支持HTTPS安全通信。下面我们将深入探讨这个项目中的关键技术点。 一、...

    ETL KETTLE 中利用Httpclient 调用webservice接口获取XML数据,并解析XML 数据

    ETL KETTLE 中利用Httpclient 调用webservice接口获取XML数据,并解析XML 数据。 完整的KTR实例

    httpClient4.1入门教程.

    2) 配置 tomcat 服务器支持 SSL:在 Tomcat 配置文件 `server.xml` 中启用 SSL,指定 KeyStore 文件路径和密码。 3) 用浏览器访问你的应用:配置完成后,可以通过 HTTPS 协议访问应用以验证 SSL 配置是否正确。 4...

    httpclient4.1访问https的配置方法

    - 打开`%TOMCAT_HOME%/conf/server.xml`,在`&lt;Server&gt;`标签内添加一个新的`&lt;Connector&gt;`标签,配置SSL连接器: ```xml SSLEnabled="true" URIEncoding="UTF-8" clientAuth="false" keystoreFile="conf/...

    HttpClient模拟客户端传输文件

    在Java编程中,HttpClient是一个非常重要的工具,它允许开发者实现HTTP协议的各种功能,包括文件的上传和下载。HttpClient模拟客户端传输文件是Java开发中的常见需求,尤其在与服务器进行交互时,例如上传用户数据、...

    HttpServer

    1.全网唯一的Java 实现根据http请求协议源码的独立HttpServer 服务,无需首先web、webservice 等问题,自由注册。自由访问; 2.灵活的可配置的xml 文件 3.使用只需要一个jar 包 和一个xml 引入即可,支持多端口、多...

    httpClient4.1入门教程

    在Tomcat的server.xml中,你需要配置`Connector`元素以启用SSL,并指向生成的KeyStore文件。 #### 3) 用浏览器访问你的应用 完成上述配置后,可以通过HTTPS协议访问你的应用。 #### 4) 用HttpClient访问HTTPS ...

    HTTPclient

    在Android开发中,HTTPClient是实现网络访问的重要工具,它允许应用程序通过HTTP协议与服务器进行交互,发送请求并接收响应。本项目中的"HTTPclient"可能是针对Android平台封装的一个网络库,用于简化网络请求的处理...

    java,HttpClient模拟上传,绕过SSL认证

    在Java编程中,HttpClient库是Apache提供的一款强大的HTTP客户端工具,用于执行HTTP和HTTPS请求。在某些场景下,比如开发测试或调试时,我们可能需要模拟上传文件到HTTPS服务器,而这个过程可能会遇到SSL(Secure ...

    HttpClient使用教程

    - 配置 tomcat 服务器支持 SSL:修改 tomcat 的 server.xml 文件,配置 SSL Connector,并指定 KeyStore 的路径和密码。 - 浏览器访问:使用浏览器访问配置了 SSL 的应用,确认正常工作。 - 用 HttpClient 访问 ...

    xml_rpc需要的jar包

    然后,使用XML-RPC服务器启动器(如`org.apache.xmlrpc.server.XmlRpcServerServlet`)将这个类注册到服务器上,使它们可以通过HTTP请求访问。 2. **客户端**:在客户端,使用XML-RPC客户端API(如`org.apache....

    cocos2d-x WebServer网络访问和交互,对返回XML数据的解析DEMO

    1. **WebServer网络访问**:cocos2d-x提供了`HttpClient`类,它是网络访问的基础。你可以创建一个`HttpClient`实例,然后设置请求方法(GET、POST等)、URL、请求头以及POST数据。通过调用`send`方法发起请求,并...

    xml 文件 压缩与解压

    在“Http_Xml_Server”和“Http_Xml_Client”这两个文件名中,我们可以推测这是一个关于通过HTTP协议交换XML数据的示例。通常,服务器端会提供一个API接口,接收客户端发送的XML请求,处理后返回XML响应。客户端则...

    bimserver安装时报dependency org.apache.httpcomponents:httpclient is not installed

    在尝试安装BIMServer时,可能会遇到各种依赖问题,其中之一就是"dependency org.apache.httpcomponents:httpclient is not installed"。这个错误信息提示我们,BIMServer的构建或运行依赖于Apache HttpClient库,但...

    Jetty Servlet+ HttpClient 制作的 Java HttpProxy

    本文将深入探讨如何使用Jetty Servlet容器和Apache HttpClient库来构建一个简单的Java HTTP代理。这两个组件都是Java Web开发中的重要工具,Jetty提供了一个轻量级、高效的Servlet容器,而HttpClient则是进行HTTP...

    c#提交表单生成XML

    C#可以使用ADO.NET(如`SqlConnection`、`SqlCommand`等)与SQL Server或其他数据库进行交互,或者使用ORM框架如Entity Framework简化操作。以下是一个简单的例子: ```csharp using System.Data.SqlClient; // ...

    Unity3D教程:利用UnityHttpClient类实现Http通信1

    为了演示如何使用UnityHttpClient,我们需要创建一个简单的HTTP服务器。这里我们使用Visual Studio建立一个网站,并在其中添加一个XML文件(Test.xml)和一个PNG图片(test.png)。XML文件用于存储测试数据,PNG图片...

    Apache xml-rpc入门

    由于其简单易用且跨平台特性,XML-RPC被广泛应用于分布式计算环境中,用于实现服务之间的通信。 #### 二、Apache XML-RPC 特性介绍 Apache XML-RPC 是一个基于Java的开源XML-RPC服务器和客户端库。它提供了强大的...

Global site tag (gtag.js) - Google Analytics