`
louisling
  • 浏览: 144018 次
  • 性别: Icon_minigender_1
  • 来自: ZhuHai
社区版块
存档分类
最新评论

Web Service Server

阅读更多
Server
--------------------------------------------------------------------------------

1) Dependencies: Jersey
import com.sun.jersey.api.container.httpserver.HttpServerFactory;
import com.sun.net.httpserver.HttpServer;

public class SimlpeServer {

    public static void main(String[] args) throws IOException {
        HttpServer server = HttpServerFactory.create("http://localhost:80/test");
        server.start();

        System.out.println("Server running");
        System.out.println("Visit: http://localhost:8088/RestHelloWorld");
        System.out.println("Hit return to stop...");
        System.in.read();
        System.out.println("Stopping server");
        server.stop(0);
        System.out.println("Server stopped");
    }

}

2) Dependencies: Jetty

import org.mortbay.jetty.Connector;
import org.mortbay.jetty.Handler;
import org.mortbay.jetty.handler.DefaultHandler;
import org.mortbay.jetty.handler.HandlerCollection;
import org.mortbay.jetty.nio.SelectChannelConnector;
import org.mortbay.jetty.webapp.WebAppContext;

public class Server {
    private int port = 8088;
    private String webDir = "web";
    private String contextPath = "/RestHelloWorld";
    
    protected Server() throws Exception {
        System.out.println("Starting Server");

        org.mortbay.jetty.Server server = new org.mortbay.jetty.Server();
        //1) Set Connector
        SelectChannelConnector connector = new SelectChannelConnector();
        connector.setPort(port);
        server.setConnectors(new Connector[] {connector});

        //2) Set Context Path
        WebAppContext webappcontext = new WebAppContext();
        webappcontext.setContextPath(contextPath);

        //3) Set War
        webappcontext.setWar(webDir);

        //4) Set handler
        HandlerCollection handlers = new HandlerCollection();
        handlers.setHandlers(new Handler[] {webappcontext, new DefaultHandler()});
        server.setHandler(handlers);
        
        //5) Start
        server.start();
        System.out.println("Server ready...");
        server.join();
    }

    public static void main(String args[]) throws Exception {
        new Server();
    }
}

3) Dependencies: CXF
import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider;

public class Server {

    protected Server() throws Exception {
        JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
        sf.setResourceClasses(CustomerService.class);
        sf.setResourceProvider(CustomerService.class, new SingletonResourceProvider(new CustomerService()));
        sf.setAddress("http://localhost:9000/");

        sf.create();
    }

    public static void main(String args[]) throws Exception {
        new Server();
        System.out.println("Server ready...");

        Thread.sleep(1000 * 60 * 1); //1 minute
        System.out.println("Server exiting");
        System.exit(0);
    }
}


4) Sun/HTTP Server
import com.sun.net.httpserver.Headers;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;

public class HttpServerDemo {
    public static void main(String[] args) throws IOException {
        InetSocketAddress addr = new InetSocketAddress(8080);
        HttpServer server = HttpServer.create(addr, 0);

        server.createContext("/", new MyHandler());
        server.setExecutor(Executors.newCachedThreadPool());
        server.start();
        System.out.println("Server is listening on port 8080");
    }
}

class MyHandler implements HttpHandler {
    public void handle(HttpExchange exchange) throws IOException {
        String requestMethod = exchange.getRequestMethod();
        if (requestMethod.equalsIgnoreCase("GET")) {
            Headers responseHeaders = exchange.getResponseHeaders();
            responseHeaders.set("Content-Type", "text/plain");
            exchange.sendResponseHeaders(200, 0);

            OutputStream responseBody = exchange.getResponseBody();
            Headers requestHeaders = exchange.getRequestHeaders();
            Set<String> keySet = requestHeaders.keySet();
            Iterator<String> iter = keySet.iterator();
            while (iter.hasNext()) {
                String key = iter.next();
                List<String> values = requestHeaders.get(key);
                String s = key + " = " + values.toString() + "\n";
                responseBody.write(s.getBytes());
            }
            responseBody.close();
        }
    }
}
分享到:
评论

相关推荐

    Office Web Apps Server

    Office Web Apps Server需要在Windows Server 2008 R2 Service Pack 1或更高版本上运行,并且需要安装.NET Framework 4.5、Windows PowerShell 3.0以及KB2670838平台更新。安装这些必备组件后,通过管理员权限打开...

    LabVIEW Web Server 设计

    LabVIEW Web Server 设计是一种利用LabVIEW开发的强大功能,使得用户可以通过Web浏览器远程监控和控制运行在服务器端的LabVIEW应用程序。这一特性使得用户无需在服务器端直接操作,即可实现远程的数据采集、分析和...

    asp.net写的web service例子

    ASP.NET Web Service是一种基于.NET Framework的简单方法,用于构建可跨平台、跨语言通信的Web应用程序。这个例子是为初学者设计的,旨在演示如何创建和使用Web Service,以及如何在ASP.NET环境中调用这些服务。 ...

    web service第一次启动慢

    web service在第一次启动时出现启动缓慢的问题,通常是指在运行或访问web service时遇到的启动延迟现象。这种问题可能会在不同的web service应用中出现,尤其是在首次连接或部署新服务时更为常见。web service是一种...

    Web service应用实例

    ### Web Service应用实例详解 #### 一、IIS安装与配置 在开发Web Service之前,首先需要确保服务器上已正确安装并配置了Internet Information Services (IIS)。无论是Windows Server 2003还是Windows XP,IIS都是...

    基于Stm32的嵌入式WebServer例程

    总的来说,基于STM32的嵌入式WebServer例程是一个极好的学习资源,可以帮助开发者深入理解嵌入式网络编程,特别是对于那些想要将STM32设备与互联网相连的初学者来说。通过实践这个项目,你可以提升在物联网领域的...

    Java完整的Web Service示例代码,学会做web service程序

    本示例代码将帮助你理解和实现一个完整的Web Service程序。 首先,我们来看"xfire-client"部分。XFire是早先的一个Java Web Service框架,它简化了客户端和服务端的开发。在Java中,创建Web Service客户端通常涉及...

    NET平台下Web Service与SQL Server2000的交互通信.pdf

    在.NET平台下,通过构建Web Service并将其部署到IIS(Internet Information Services)服务器端,可以实现Web Service与SQL Server2000的交互通信。具体步骤包括: - 在企业B的.NET环境中创建一个Web服务(例如...

    Visual C++源代码 102 如何异步调用Web Service程序

    Visual C++源代码 102 如何异步调用Web Service程序Visual C++源代码 102 如何异步调用Web Service程序Visual C++源代码 102 如何异步调用Web Service程序Visual C++源代码 102 如何异步调用Web Service程序Visual ...

    SQL Server调用Webservice示例

    本示例主要讲解如何在SQL Server环境中调用Web Service,这通常涉及到数据集成、自动化流程或跨系统通信的需求。以下将详细阐述这一技术点。 首先,我们需要理解SQL Server和Web Service的基本概念。SQL Server是一...

    基于.NET的Web Service与SQL Server 2000交互通信的研究.pdf

    本文探讨了.NET平台下的Web Service与SQL Server 2000数据库的交互通信技术,旨在解决Web服务端与客户端之间的交互问题,并实现空间信息服务的共享。具体知识点包括: 1. .NET平台概述: .NET是微软推出的一套新...

    J2EE Web Service

    标题:J2EE Web Service 描述:J2EE Web Service. scdjws认证教材。 从给定的信息中,我们可以深入探讨几个关键的知识点,这些知识点不仅涵盖了J2EE Web Service的核心概念,还涉及了其在企业级应用中的作用以及与...

    SQLServer存储过程调用WebService

    本文将详细介绍如何在 SQL Server 存储过程中调用 Web Service,并针对不同的 SQL Server 版本及操作系统环境提供相应的解决方案。 #### 二、环境配置与准备工作 ##### 2.1 安装 Soap Toolkit 3.0 组件 在 SQL ...

    基于Delphi的Web Service 客户端调用

    ### 基于Delphi的Web Service 客户端调用 #### 一、Web Service 概述 ##### 1.1 Web Service 的定义及特点 Web Service 是一种新型的网络应用程序,它具有自包含(Self-Contained)、自描述(Self-Describing)...

    pb11 开发 web service

    标题:“pb11 开发 web service” 描述:“介绍如何用pb11 开发webservice 及如何调用” 本文将深入解析如何运用PowerBuilder 11(简称pb11)进行Web Service的开发与调用,揭示pb11在Web Service开发领域的应用...

    在SQL SERVER 2005中调用Web Service

    C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\wsdl.exe /par:c:\oldwsdlconfig.xml http://www.webservicex.net/CurrencyConvertor.asmx ``` 3. **添加代理类到项目**:将生成的代理类文件(如`...

    实战 Web Service 压缩传输

    ### 实战 Web Service 压缩传输:提升数据交换效率 在现代信息技术领域,Web Service 成为了企业间、系统间进行交互与数据交换的重要手段。然而,在实际应用中,Web Service 的数据传输效率往往受到诸多因素的影响...

Global site tag (gtag.js) - Google Analytics