restlet学习心得

后来发现有人已经翻译好的了 网址 http://my.oschina.net/javagg/blog/3254

【题记】一直以来都觉得能够无条件分享知识,回答别人问题的人很值得敬佩。就像我现在学习android看的mars老师的视频,真的很棒。让我感到很是敬佩。也想能凭着自己的能力干点什么时候,作为回报。可是作为一个小菜鸟,我实在不敢献丑。最近再研究Rest/Restlet,看着官网上的tutorial,想着把英文给翻译成中文,一方面可以加深自己的印象,一方面可以稍稍做出一点贡献。即便很卑微。

【正题】

Reference: http://www.restlet.org/documentation/2.0/tutorial

1. Restlet overview

Restlet framework由两个部分构成。一是Restlet API,API遵守REST的原则,使得处理客户端和服务器端的应用程序更加的便利。API是内置在Restlet Engine上层,并且被封装在org.restlet.jar包中。

QQ截图未命名

API和implementation的关系就像是Servlet API 和 Web Containers(例如Jetty or Tomcat), 或者JDBC  API 和JDBC驱动一样。

2. Retrieving the content of a Web page

Restlet同时可是一个client,也可是一个server。例如,Restlet可以通过它的HTTP client connector处理远程的resource。一个connector在REST里面是一个软件的一部分,它可以使得components之间交流。通常是执行一个网络协议。Restlet根据先存在的开源的工程,提供几种client connector的执行方法。这部分connectors列出了几种client和server 之间的connector,并且详细解释了怎样去配置。

 

下面的代码是获得一个资源的representation并且显示到JVM的console。

  • // Outputting the content of a Web page
  • new ClientResource("http://www.restlet.org").get().write(System.out); 

以上的代码只是简单的用了ClientResource类去实现。如果你想要多线程或者其他控制功能,你可以用Client connector类或者Request objects。以下的代码是展示如何设置一些preferences在你的client端,例如设置一个URI。根据你想要的response,它还可以是languages and media type. <没怎么明白,不知道为什么要设置preference,难道是根据你设置的refer property去返回资源的格式?>

  • // Create the client resource
  • ClientResource resource = new ClientResource("http://www.restlet.org"); 
  • // Customize the referrer property
  • resource.setReferrerRef("http://www.mysite.org"); 
  • // Write the response entity on the console
  • resource.get().write(System.out); 
3. Listening to Web browsers

我们用内部的Restlet HTTP Server Connector(当然也可以是其他的)返回一个简单的"Hello, world”的txt格式的representation。注意Part03类继承了Restlet提供的ServerResource。

  • public class Part03 extends ServerResource { 
  • public static void main(String[] args) throws Exception { 
  • // Create the HTTP server and listen on port 8182
  • new Server(Protocol.HTTP, 8182, Part03.class).start(); 
  •     } 
  • @Get
  • public String toString() { 
  • return "hello, world"; 
  •     } 

run代码之后,启动服务器,打开http://localhost:8182。事实上任何一个URI都可以成功,或者试试http://localhost:8182/test/tutorial。注意,如果你测试你的代码通过一个不同的机器,你要将localhost改为你服务器的IP地址或者网址。

 

以上是非常抽象的通过ClientResource and ServerResource类使用Restlet API。

 

如果有描述不恰当之处,敬请谅解。悉心听取宝贵意见。

【未完待续】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值