`
louisling
  • 浏览: 144927 次
  • 性别: 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();
        }
    }
}
分享到:
评论

相关推荐

    SAP NW AS as web service Server and Client

    SAP NW AS as web service Server and Client

    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都是...

    SQLServer存储过程调用WebService

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

    基于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的核心概念,还涉及了其在企业级应用中的作用以及与...

    基于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开发领域的应用...

    搭建Matlab web server开发环境

    - **Web Service Proxy (Matweb)**:一个可执行程序(`Matweb.exe`),是Matlab Web Server的TCP/IP客户端,同时也是Web的CGI扩展。它将对Matlab的请求转发给`matlabserver.exe`进行处理。 - **Matlab m文件**:即要...

    在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