• RESTful WebService入门(转)


    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lavasoft.blog.51cto.com/62575/229206

    RESTful WebService是比基于SOAP消息的WebService简单的一种轻量级Web服务,RESTful WebService是没有状态的,发布和调用都是非常的轻松容易。

    以下是一个最简单的Hello World例子,以便对RESTful WebService有个感性认识。因为非常专业理论化的藐视RESTful  WebService是一件理解起来很痛苦的事情。看看例子就大概了解了。

    /**
    * RESTful WebService入门
    * @author leizhimin 2009-11-18 16:42:43
    */

    package example;

    import com.sun.jersey.api.container.httpserver.HttpServerFactory;
    import com.sun.net.httpserver.HttpServer;

    import javax.ws.rs.GET;
    import javax.ws.rs.Path;
    import javax.ws.rs.Produces;
    import java.io.IOException;

    //指定URI
    @Path("/helloworld")
    public class HelloWorld {
            //处理HTTP的GET请求
            @GET
            // 处理请求反馈的内容格式为"text/plain"
            @Produces("text/plain")
            public String getClichedMessage() {
                    return "Hello World!";
            }

            public static void main(String[] args) throws IOException {
                    //创建RESTful WebService服务
    HttpServer server = HttpServerFactory.create("http://192.168.14.117:9999/");
                    //启动服务,这会导致新开一个线程
                    server.start();
                    //输出服务的一些提示信息到控制台
                    System.out.println("RESTful WebService服务已经启动");
                    System.out.println("服务访问地址: http://192.168.14.117:9999/helloworld");
            }
    }

    运行这个类,控制台输出:

    2009-11-18 17:25:37 com.sun.jersey.api.core.ClasspathResourceConfig init
    信息: Scanning for root resource and provider classes in the paths:
        D:jdk16jrelibalt-rt.jar
        D:jdk16jrelibcharsets.jar
        D:jdk16jrelibdeploy.jar
        D:jdk16jrelibjavaws.jar
        D:jdk16jrelibjce.jar
        D:jdk16jrelibjsse.jar
        D:jdk16jrelibmanagement-agent.jar
        D:jdk16jrelibplugin.jar
        D:jdk16jrelib esources.jar
        D:jdk16jrelib t.jar
        D:jdk16jrelibextdnsns.jar
        D:jdk16jrelibextlocaledata.jar
        D:jdk16jrelibextsunjce_provider.jar
        D:jdk16jrelibextsunmscapi.jar
        D:jdk16jrelibextsunpkcs11.jar
        D: etwideo estwsoutproduction estws
        D:IDEA8libjavaee.jar
        D: etwideo estwslibmail-1.4.jar
        D: etwideo estwslibasm-3.1.jar
        D: etwideo estwslibwadl2java.jar
        D: etwideo estwslibjettison-1.0.1.jar
        D: etwideo estwslibgrizzly-servlet-webserver-1.8.6.4.jar
        D: etwideo estwslibwadl-core.jar
        D: etwideo estwsliblocalizer.jar
        D: etwideo estwslibjdom-1.0.jar
        D: etwideo estwslibjsr311-api-1.0.jar
        D: etwideo estwslibstax-api-1.0-2.jar
        D: etwideo estwslibpersistence-api-1.0.2.jar
        D: etwideo estwslibjaxb-api-2.1.jar
        D: etwideo estwslibwadl-cmdline.jar
        D: etwideo estwslibhttp-20070405.jar
        D: etwideo estwslib ome-0.9.jar
        D: etwideo estwslibactivation-1.1.jar
        D: etwideo estwslibjaxb-impl-2.1.10.jar
        D: etwideo estwslibjersey-bundle-1.0.3.jar
        D: etwideo estwslibjackson-lgpl-0.9.4.jar
        D: etwideo estwslibFastInfoset-1.2.2.jar
        D: etwideo estwslibjaxb-xjc.jar
        D:IDEA8libidea_rt.jar
    2009-11-18 17:25:46 com.sun.jersey.api.core.ClasspathResourceConfig init
    信息: Root resource classes found:
        class example.HelloWorld
    2009-11-18 17:25:46 com.sun.jersey.api.core.ClasspathResourceConfig init
    信息: Provider classes found:
    RESTful WebService服务已经启动
    服务访问地址: http://192.168.14.117:9999/helloworld

    服务启动成功了,下来就是从浏览器中访问服务了,输入http://192.168.14.117:9999/helloworld,将发送一个HTTP GET请求,看看结果:

    所用的全部jar包:

    activation-1.1.jar
    asm-3.1.jar
    FastInfoset-1.2.2.jar
    grizzly-servlet-webserver-1.8.6.4.jar
    http-20070405.jar
    jackson-lgpl-0.9.4.jar
    jaxb-api-2.1.jar
    jaxb-impl-2.1.10.jar
    jaxb-xjc.jar
    jdom-1.0.jar
    jersey-bundle-1.0.3.jar
    jettison-1.0.1.jar
    jsr311-api-1.0.jar
    mail-1.4.jar
    localizer.jar
    persistence-api-1.0.2.jar
    rome-0.9.jar
    stax-api-1.0-2.jar
    wadl-core.jar
    wadl-cmdline.jar
    wadl2java.jar

    本文出自 “熔  岩” 博客,请务必保留此出处http://lavasoft.blog.51cto.com/62575/229206

  • 相关阅读:
    Android 上传图片到服务器 okhttp一
    Kotlin 扩展——省略findViewById
    音频的播放一
    layui+ztree 树状下拉框
    Element里el-badge在el-tab里视图不被渲染问题
    linux之cat 操作
    cmd命令行中查看、修改、删除与添加环境变量
    cmd 文件/文件夹的一切操作
    操作
    11. 判断是给属性前加typeof 可以同时判断属性是否存在
  • 原文地址:https://www.cnblogs.com/dream-to-pku/p/5414467.html
Copyright © 2020-2023  润新知