原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。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:\jdk16\jre\lib\alt-rt.jar
    D:\jdk16\jre\lib\charsets.jar
    D:\jdk16\jre\lib\deploy.jar
    D:\jdk16\jre\lib\javaws.jar
    D:\jdk16\jre\lib\jce.jar
    D:\jdk16\jre\lib\jsse.jar
    D:\jdk16\jre\lib\management-agent.jar
    D:\jdk16\jre\lib\plugin.jar
    D:\jdk16\jre\lib\resources.jar
    D:\jdk16\jre\lib\rt.jar
    D:\jdk16\jre\lib\ext\dnsns.jar
    D:\jdk16\jre\lib\ext\localedata.jar
    D:\jdk16\jre\lib\ext\sunjce_provider.jar
    D:\jdk16\jre\lib\ext\sunmscapi.jar
    D:\jdk16\jre\lib\ext\sunpkcs11.jar
    D:\netwideo\restws\out\production\restws
    D:\IDEA8\lib\javaee.jar
    D:\netwideo\restws\lib\mail-1.4.jar
    D:\netwideo\restws\lib\asm-3.1.jar
    D:\netwideo\restws\lib\wadl2java.jar
    D:\netwideo\restws\lib\jettison-1.0.1.jar
    D:\netwideo\restws\lib\grizzly-servlet-webserver-1.8.6.4.jar
    D:\netwideo\restws\lib\wadl-core.jar
    D:\netwideo\restws\lib\localizer.jar
    D:\netwideo\restws\lib\jdom-1.0.jar
    D:\netwideo\restws\lib\jsr311-api-1.0.jar
    D:\netwideo\restws\lib\stax-api-1.0-2.jar
    D:\netwideo\restws\lib\persistence-api-1.0.2.jar
    D:\netwideo\restws\lib\jaxb-api-2.1.jar
    D:\netwideo\restws\lib\wadl-cmdline.jar
    D:\netwideo\restws\lib\http-20070405.jar
    D:\netwideo\restws\lib\rome-0.9.jar
    D:\netwideo\restws\lib\activation-1.1.jar
    D:\netwideo\restws\lib\jaxb-impl-2.1.10.jar
    D:\netwideo\restws\lib\jersey-bundle-1.0.3.jar
    D:\netwideo\restws\lib\jackson-lgpl-0.9.4.jar
    D:\netwideo\restws\lib\FastInfoset-1.2.2.jar
    D:\netwideo\restws\lib\jaxb-xjc.jar
    D:\IDEA8\lib\idea_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

RESTful WebService入门(转)的更多相关文章

  1. RESTful WebService入门

    RESTful WebService入门   RESTful WebService是比基于SOAP消息的WebService简单的多的一种轻量级Web服务,RESTful WebService是没有状 ...

  2. RESTful WebService入门【转】

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

  3. RESTful WebService 入门实例

      /* 新建MavenProject,使用以下代码,创建类和POM文件.使用命令行切换到Project根目录,运行mvn package(或者,选中pom.xml 文件右键单击 > run a ...

  4. CXF发布restful WebService的入门例子(客户端)

    上篇说了怎么用cxf发布restful webservice,由于浏览器只能对该service发送http的GET请求,所以如果想对服务器上的数据,还需要实现客户端. 客户端的实现方式有无数种...可 ...

  5. CXF发布restful WebService的入门例子(服务器端)

    研究了两天CXF对restful的支持.   现在,想实现一个以 http://localhost:9999/roomservice 为入口, http://localhost:9999/roomse ...

  6. SOAP Webservice和RESTful Webservice

    http://blog.sina.com.cn/s/blog_493a845501012566.html REST是一种架构风格,其核心是面向资源,REST专门针对网络应用设计和开发方式,以降低开发的 ...

  7. Restful是什么,SOAP Webservice和RESTful Webservice

    首先,应该怀着这样一种心态来学习Restful——Restful你可以将其理解一种软件架构风格,并且诠释了Http协议的设计初衷,所以不要把他理解的那么神秘,Restful风格有好处,当然也是有坏处的 ...

  8. Jersey框架一:Jersey RESTful WebService框架简介

    Jersey系列文章: Jersey框架一:Jersey RESTful WebService框架简介 Jersey框架二:Jersey对JSON的支持 Jersey框架三:Jersey对HTTPS的 ...

  9. RESTful Webservice (一) 概念

    Representational State Transfer(表述性状态转移) RSET是一种架构风格,其核心是面向资源,REST专门针对网络应用设计和开发方式,以降低开发的复杂性,提高系统的可伸缩 ...

随机推荐

  1. display:-webkit-box

    Flexbox 为 display 属性赋予了一个新的值(即 box 值), flexbox的属性有很多,记录一些比较常用的属性: 用于父元素的样式: display: box; 该属性会将此元素及其 ...

  2. Visualize real-time data streams with Gnuplot

    源文地址 (September 2008) For the last couple of years, I've been working on European Space Agency (ESA) ...

  3. 【转】C语言位运算符:与、或、异或、取反、左移与右移详细介绍

    转载自:http://www.jb51.net/article/40559.htm,感谢原作者. 以下是对C语言中的位运算符:与.或.异或.取反.左移与右移进行了详细的分析介绍,需要的朋友可以过来参考 ...

  4. HDU 4267 A Simple Problem with Integers --树状数组

    题意:给一个序列,操作1:给区间[a,b]中(i-a)%k==0的位置 i 的值都加上val  操作2:查询 i 位置的值 解法:树状数组记录更新值. 由 (i-a)%k == 0 得知 i%k == ...

  5. win10自动更新彻底关闭

    http://app.techweb.com.cn/wp/2016-10-24/2418646.shtml

  6. 关于URL编码/javascript/js url 编码

    一.问题的由来 URL就是网址,只要上网,就一定会用到. 一般来说,URL只能使用英文字母.阿拉伯数字和某些标点符号,不能使用其他文字和符号.比如,世界上有英文字母的网址 “http://www.ab ...

  7. js中的垃圾回收机制

    代码回收规则如下: 1.全局变量不会被回收. 2.局部变量会被回收,也就是函数一旦运行完以后,函数内部的东西都会被销毁. 3.只要被另外一个作用域所引用就不会被回收  (闭包)

  8. 025医疗项目-模块二:药品目录的导入导出-HSSF导入类的封装

    上一篇文章提过,HSSF的用户模式会导致读取海量数据时很慢,所以我们采用的是事件驱动模式.这个模式类似于xml的sax解析.需要实现一个接口,HSSFListener接口. 原理:根据excel底层存 ...

  9. 微服务架构:Eureka集群搭建

    版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! 服务注册.发现是微服务架构的关键原理之一,由于微服务架构是由一系列职责单一的细粒度服务构成的网状结构,服务之间通过轻量机制进行通信,这就必 ...

  10. Java Concurrency in Practice 读书笔记 第十章

    粗略看完<Java Concurrency in Practice>这部书,确实是多线程/并发编程的一本好书.里面对各种并发的技术解释得比较透彻,虽然是面向Java的,但很多概念在其他语言 ...