关闭

RESTful WebService入门

标签: rRESTful
533人阅读 评论(0) 收藏 举报
分类:
RESTful WebService入门
 
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请求,看看结果:
 
 
测试成功了!
 
--------------------
这个项目以来很多的包,有些事sun的,有些不是,这里我全放出来,整个项目放到附件中,在jdk5、6下运行都可以。
 
很遗憾,附件最大能上传6M的东西,这个超过6M了,只能等待51cto能放宽上传文件的大小。每个限制在10M以内最好了。----希望:),这里我列出所用的包吧:
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
 
0
0
查看评论

restful webservice实战

上篇文章介绍了什么是restful风格的webservice,本片文章通过一个demo着重介绍如何发布一个restful风格的web service. 1.建立接口
  • a1314517love
  • a1314517love
  • 2015-01-16 18:02
  • 4253

RESTful WebService和web service的区别

RESTful 风格的 webservice 越来越流行了, sun 也推出了 RESTful WebService 的官方规范: JAX-RS ,全称: Java API for RESTful Web...
  • jaryle
  • jaryle
  • 2016-08-07 08:39
  • 8385

RestFul(一)WebService之CXF的RestFul风格开发

CXF发布RSETful 风格WebService  1、关于RestFul的介绍 简介 REST也就是Representational State Transfer。REST并不特指一种技术,也不是一个标准,它仅仅是一个构架风格。REST 指的是一组架构约束条件和原则。满...
  • yangwangxlk
  • yangwangxlk
  • 2015-03-31 11:45
  • 4689

一起代码,两分钟,实现 java restful webservice

新接手个项目中用到了restful webservice, 开始研究JAX-RX,JAX-WS,CXF,jaxb等概念,也从网上找一些简单的例子,其实java实现rest还是非常简单的(要不怎么叫rest呢^_^),但是发现找到的例子都是eclipse实现,代码虽然没有几行,但是都是手工敲,尤其是各...
  • gaowenhui2008
  • gaowenhui2008
  • 2015-11-17 18:38
  • 1224

WebService为什么不如RESTful API流行

1 WebService有很多协议,为什么HTTP比较流行? WebService是个很重型的规范,它的应用协议是SOAP(简单对象访问协议),它所依赖的下层通信方式不单单是HTTP,也有SOAP over SMTP, SOAP over TCP,由于HTTP协议群众基础广,开发调试方便,所以...
  • baolin811
  • baolin811
  • 2015-08-20 23:27
  • 7568

RestFul WebService的创建和使用实例

一. RestFul WebService的创建: 本例使用SpringMVC来写RestFul Web Service。 1.创建【Dynamic Web Prject】 2.添加代码: RestFul.java: package com.webservice; import java.i...
  • sunroyi666
  • sunroyi666
  • 2016-07-15 16:05
  • 22127

Restful WebService简单介绍

RESTful Web Services已经渐渐开始流行, 主要是用于解决异构系统之间的通信问题。很多网站和应用提供的API,都是基于RESTful风格的Web Services,比较就有Google,现在就来简单的介绍下它。 一、 RESTful Web Services是什么?  ...
  • dandanzmc
  • dandanzmc
  • 2015-06-27 19:38
  • 2042

Web Service进阶(七)浅谈SOAP Webservice和RESTful Webservice

浅谈SOAP Webservice和RESTful Webservice      REST是一种架构风格,其核心是面向资源,REST专门针对网络应用设计和开发方式,以降低开发的复杂性,提高系统的可伸缩性。REST提出设计概念和准则为:    ...
  • sunhuaqiang1
  • sunhuaqiang1
  • 2016-07-04 15:19
  • 45606

RESTful Web Service 的安全(token 认证方式)以及性能

可扩展性(scalability)和可用性(availability)  custom token authentication 使用一个独一无二的标志,来标示每一次的数据请求。 这个标志有两种用法:1.它可以作为URI的 2.它可以加入到HTTP的请求头中。 @Path(&quo...
  • yinxianluo
  • yinxianluo
  • 2013-11-19 21:59
  • 7782

浅谈restful webservice SOAP webservice

为了说明这个问题,必须的纠正一下我们对HTTP的认识。 首先回顾一下OSI七层模型 OSI(Open System Interconnection,开放系统互连)七层模型 7 应用层  6 表示层  5 会话层  4 传输层  3 网络层&#...
  • guiguzi629
  • guiguzi629
  • 2012-07-12 17:28
  • 4244
    个人资料
    • 访问:319736次
    • 积分:4246
    • 等级:
    • 排名:第8509名
    • 原创:42篇
    • 转载:444篇
    • 译文:1篇
    • 评论:18条
    最新评论