RESTful系列文章索引

  1. Restlet入门例子 - RESTful web framwork for java
  2. [原创]Jersey入门例子

官方网站介绍:

http://www.restlet.org/about/introduction

什么是REST?

表象化状态转变(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。

论文中文下载地址: REST_cn架构风格与基于网络的软件架构设计.pdf

需要注意的是,REST是设计风格而不是标准。REST通常基于使用HTTP,URI,和XML以及HTML这些现有的广泛流行的协议和标准。

  • 资源是由URI来指定。
  • 对资源的操作包括获取、创建、修改和删除资源,这些操作正好对应HTTP协议提供的GET、POST、PUT和DELETE方法。
  • 通过操作资源的表形来操作资源。
  • 资源的表现形式则是XML或者HTML,取决于读者是机器还是人,是消费web服务的客户软件还是web浏览器。当然也可以是任何其他的格式。

下面是一个简单的restlet的Hello, World的例子

依赖的jar: org.restlet.jar (使用的版本是restlet-jse-2.0.8)

定义一个资源

import org.restlet.Server;
import org.restlet.data.Protocol;
import org.restlet.resource.Get;
import org.restlet.resource.ServerResource;public class FirstServerResource extends ServerResource {public static void main(String[] args) throws Exception {new Server(Protocol.HTTP, 8182, FirstServerResource.class).start();}@Getpublic String toString() {return "Hello, World!";}}

new Server(Protocol.HTTP, 8182, FirstServerResource.class).start();

这一句开启了一个web服务器, 这个是restlet自带的服务器(可能是jetty)

运行结果如下:

2011-7-1621:15:35 org.restlet.engine.http.connector.HttpServerHelper start信息: Starting the internal HTTP server on port 8182

获取资源的方式

import java.io.IOException;import org.restlet.resource.ClientResource;
import org.restlet.resource.ResourceException;public class Client {public static void main(String[] args) throws ResourceException, IOException {new ClientResource("http://localhost:8182/").get().write(System.out);}
}

运行结果如下:

2011-7-1621:16:31 org.restlet.engine.http.connector.HttpClientHelper start信息: Starting the default HTTP clientHello, World!

我们可以看到, 在Console中输出了Hello, World!

可以为资源配置路径

import org.restlet.Application;
import org.restlet.Context;
import org.restlet.Restlet;
import org.restlet.Server;
import org.restlet.data.Protocol;
import org.restlet.routing.Router;public class ServerApplication extends Application {public static void main(String[] args) throws Exception {new Server(Context.getCurrent(), Protocol.HTTP, 8182, FirstServerResource.class).start();}public ServerApplication(Context context) {super(context);}@Overridepublic Restlet createInboundRoot() {Router router = new Router(this.getContext());router.attach("/hello", FirstServerResource.class);return router;}}

这样访问资源的时候就需要访问/hello这个URI

import java.io.IOException;import org.restlet.resource.ClientResource;
import org.restlet.resource.ResourceException;public class Client {public static void main(String[] args) throws ResourceException, IOException {new ClientResource("http://localhost:8182/hello").get().write(System.out);}
}

刚开始接触restlet, 还很不熟悉, 了解了一点, 写出来和大家分享一下, 如果有不正确的地方, 请大家指出!

eclipse工程下载: Restlet.zip

转载于:https://www.cnblogs.com/icejoywoo/archive/2011/07/16/2108411.html

Restlet入门例子 - RESTful web framwork for java相关推荐

  1. iBatis入门例子,用ORACLE和Java测试

    一个简单的iBatis入门例子,用ORACLE和Java测试 目录结构: 1.导入iBatis和oracle驱动. 2.创建类Person.java package com.ibeats; impor ...

  2. java web从入门到精通光盘_0基础入门 IT,Web前端、Java、C++和Linux哪种好?

    现在是21世纪,是科学技术大力发展的一个时代,IT行业已经成为现在的一个非常热门的一个行业,许许多多的人都想要往IT方面发展,找IT方面相关的一个工作. 很多想要接触IT行业的初学者伤透了脑筋,我该学 ...

  3. RESTful Web 服务 - Java (JAX-RS)

    JAX-RS 表示用于 RESTful Web 服务的 Java API.JAX-RS 是一种基于 Java 的编程语言 API 以及为创建 RESTful Web 服务提供支持的规范.2.0 版本发 ...

  4. 构建 RESTful Web 服务

    from: https://www.ibm.com/developerworks/cn/education/java/j-rest/j-rest.html 开始之前 关于本教程 REST 是一种思维方 ...

  5. 使用 Jersey 和 Apache Tomcat 构建 RESTful Web 服务

    http://www.ibm.com/developerworks/cn/web/wa-aj-tomcat/ 使用 Jersey 和 Apache Tomcat 构建 RESTful Web 服务 Y ...

  6. jersey tomcat MySQL_基于jersey和Apache Tomcat构建Restful Web服务(一)

    基于jersey和Apache Tomcat构建Restful Web服务(一) 现如今,RESTful架构已然成为了最流行的一种互联网软件架构,它结构清晰.符合标准.易于理解.扩展方便,所以得到越来 ...

  7. resteasy_Tomcat 7上具有RESTeasy JAX-RS的RESTful Web服务– Eclipse和Maven项目

    resteasy 开发Web服务的RESTful方法不断受到越来越多的关注,并且似乎正在将SOAP淘汰. 我不会讨论哪种方法更好,但是我相信我们都同意REST更轻量级. 在本教程中,我将向您展示如何使 ...

  8. Tomcat 7上具有RESTeasy JAX-RS的RESTful Web服务-Eclipse和Maven项目

    开发Web服务的RESTful方法不断受到越来越多的关注,并且似乎正在将SOAP淘汰. 我不会讨论哪种方法更好,但是我相信我们都同意REST更轻量级. 在本教程中,我将向您展示如何使用RESTeasy ...

  9. 一个简单的iBatis入门例子

    一个简单的iBatis入门例子,用ORACLE和Java测试 目录结构: 1.导入iBatis和oracle驱动. ibatis-2.3.4.726.jar ojdbc14.jar 2.创建类com/ ...

最新文章

  1. c语言递归求五阶行列式源代码,久游堂怎么样 -官网
  2. XenApp_XenDesktop_7.6实战篇之九:SQL Server数据库服务器规划及部署
  3. 3YAdmin-专注通用权限控制与表单的后台管理系统模板
  4. asp.net MVC2 初探十一
  5. SAP UI5 oFileUpload.getUploadEnabled()
  6. js 条码枪扫描_年会展台 精彩不断 | 沧田:从打印到扫描录入 国产品牌从未停止...
  7. 详解MySQL事务隔离
  8. Tomcat5.5中配置虚拟路径
  9. html缎带按钮,6款丝带蝴蝶结系法图解_乌托家家居网
  10. 网络历史之金融投资三剑客03
  11. Vue中阿里图标的使用
  12. 生物信息学|通过整合药物表型、治疗、化学结构和基因组特征,使用机器学习预测药物-药物相互作用
  13. 数学专业偏向算法智力题的面试题
  14. WebApi-05 (三大家族及轮播图案例分享)
  15. mysql练习题及答案_mysql练习题及答案.doc
  16. plecs用C-SCRPT搭建多路开关。
  17. 防雷接地国家规范标准介绍与施工技术要点
  18. 走进微软亚洲研究院随笔
  19. 嵌入式Linux之我行——C+CGI+Ajax在S3C244
  20. snmp在win10上安装使用

热门文章

  1. Spring相关笔记整理
  2. Oracle的SQL基础之查询(简单查询)
  3. 【maven】maven IDEA 设置 上传jar 包 distributionManagement
  4. 95-862-045-源码-runtime-blob-BlobService
  5. 95-40-038-java.util.concurrent-ConcurrentLinkedQueue
  6. 【SpringClould】Spring Cloud Eureka源码分析
  7. 【Es】es deep paging问题
  8. 【ElasticSearch】ElasticSearch immense term错误
  9. 84-java版spark2.x读取es6.x
  10. NoSuchMethodError: org.apache.avro.Schema.getLogicalType()Lorg/apache/avro/LogicalType;