Restlet入门例子 - RESTful web framwork for java
RESTful系列文章索引
- Restlet入门例子 - RESTful web framwork for java
- [原创]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相关推荐
- iBatis入门例子,用ORACLE和Java测试
一个简单的iBatis入门例子,用ORACLE和Java测试 目录结构: 1.导入iBatis和oracle驱动. 2.创建类Person.java package com.ibeats; impor ...
- java web从入门到精通光盘_0基础入门 IT,Web前端、Java、C++和Linux哪种好?
现在是21世纪,是科学技术大力发展的一个时代,IT行业已经成为现在的一个非常热门的一个行业,许许多多的人都想要往IT方面发展,找IT方面相关的一个工作. 很多想要接触IT行业的初学者伤透了脑筋,我该学 ...
- RESTful Web 服务 - Java (JAX-RS)
JAX-RS 表示用于 RESTful Web 服务的 Java API.JAX-RS 是一种基于 Java 的编程语言 API 以及为创建 RESTful Web 服务提供支持的规范.2.0 版本发 ...
- 构建 RESTful Web 服务
from: https://www.ibm.com/developerworks/cn/education/java/j-rest/j-rest.html 开始之前 关于本教程 REST 是一种思维方 ...
- 使用 Jersey 和 Apache Tomcat 构建 RESTful Web 服务
http://www.ibm.com/developerworks/cn/web/wa-aj-tomcat/ 使用 Jersey 和 Apache Tomcat 构建 RESTful Web 服务 Y ...
- jersey tomcat MySQL_基于jersey和Apache Tomcat构建Restful Web服务(一)
基于jersey和Apache Tomcat构建Restful Web服务(一) 现如今,RESTful架构已然成为了最流行的一种互联网软件架构,它结构清晰.符合标准.易于理解.扩展方便,所以得到越来 ...
- resteasy_Tomcat 7上具有RESTeasy JAX-RS的RESTful Web服务– Eclipse和Maven项目
resteasy 开发Web服务的RESTful方法不断受到越来越多的关注,并且似乎正在将SOAP淘汰. 我不会讨论哪种方法更好,但是我相信我们都同意REST更轻量级. 在本教程中,我将向您展示如何使 ...
- Tomcat 7上具有RESTeasy JAX-RS的RESTful Web服务-Eclipse和Maven项目
开发Web服务的RESTful方法不断受到越来越多的关注,并且似乎正在将SOAP淘汰. 我不会讨论哪种方法更好,但是我相信我们都同意REST更轻量级. 在本教程中,我将向您展示如何使用RESTeasy ...
- 一个简单的iBatis入门例子
一个简单的iBatis入门例子,用ORACLE和Java测试 目录结构: 1.导入iBatis和oracle驱动. ibatis-2.3.4.726.jar ojdbc14.jar 2.创建类com/ ...
最新文章
- c语言递归求五阶行列式源代码,久游堂怎么样 -官网
- XenApp_XenDesktop_7.6实战篇之九:SQL Server数据库服务器规划及部署
- 3YAdmin-专注通用权限控制与表单的后台管理系统模板
- asp.net MVC2 初探十一
- SAP UI5 oFileUpload.getUploadEnabled()
- js 条码枪扫描_年会展台 精彩不断 | 沧田:从打印到扫描录入 国产品牌从未停止...
- 详解MySQL事务隔离
- Tomcat5.5中配置虚拟路径
- html缎带按钮,6款丝带蝴蝶结系法图解_乌托家家居网
- 网络历史之金融投资三剑客03
- Vue中阿里图标的使用
- 生物信息学|通过整合药物表型、治疗、化学结构和基因组特征,使用机器学习预测药物-药物相互作用
- 数学专业偏向算法智力题的面试题
- WebApi-05 (三大家族及轮播图案例分享)
- mysql练习题及答案_mysql练习题及答案.doc
- plecs用C-SCRPT搭建多路开关。
- 防雷接地国家规范标准介绍与施工技术要点
- 走进微软亚洲研究院随笔
- 嵌入式Linux之我行——C+CGI+Ajax在S3C244
- snmp在win10上安装使用
热门文章
- Spring相关笔记整理
- Oracle的SQL基础之查询(简单查询)
- 【maven】maven IDEA 设置 上传jar 包 distributionManagement
- 95-862-045-源码-runtime-blob-BlobService
- 95-40-038-java.util.concurrent-ConcurrentLinkedQueue
- 【SpringClould】Spring Cloud Eureka源码分析
- 【Es】es deep paging问题
- 【ElasticSearch】ElasticSearch immense term错误
- 84-java版spark2.x读取es6.x
- NoSuchMethodError: org.apache.avro.Schema.getLogicalType()Lorg/apache/avro/LogicalType;