Restlet2.0学习——简单WebApp实现
由于自己最近正在学习REST,并需要使用Restlet做ROA的开发。所以把自己的一些事件心得写下,以便以后查阅,也希望可以帮助到一些同学。
首先Rest的概念就不提了。主要就是讲关于如何更好,更简单的利用http协议中的一些基本方法,做统一接口,来实现我们基于资源的架构开发。其中Restful web service 书中也说道。很多时候我们都容易陷入把开发变复杂的情况,比如使用SOAP,这种特殊信封去包装我们的数据。而一些尝试开发Rest的人们,也容易由于经验的印象,陷入架构的变异,开发出Rest-RPC风格或者纯RPC风格的程序。而看了很多在java方面关于Rest原则的架构设计,觉得Restlet基本遵循了Rest的原则,而且相对比较简单。所以尝试拿来写一些简单程序开始入手。当然在Rest1.0时代也有很多达人写了很多实战例子。其中,在iteye社区中就有一位ajax达人写了长长33篇关于Restlet1.0的实例,其中较多都是结合spring使用。而本人几下Restlet2.0的一些实践例子,毕竟想把关于2.0方面的经验分享给大家,也因为1.0中的很多类在2.0中都已经废弃,而且现在官网上主要放着的是2.0和2.1的get started。总要与时俱进的嘛,哈哈。好了,言归正传,让我们开始吧。
Restlet2.0中最近的是从Restlet,Resource和respresentation三个包中展开。其他的一些都是富有一些特殊功能的类而其中基于Uniform和UniformResource的两个接口就是其中的核心。
这篇文章下的项目主要实现就是通过一个test,获取放入webapp中resource,并返回hello world的功能。该项目的名称我们命名为RestLetServlet。在开发之前,需要加入如下jar
org.restlet.jar(restlet核心包,不管是JEE或者是JSE都是必需的)
org.restlet.ext.servlet.jar(JEE下servlet专用包)
junit4.8.2.jar(用于编写单元测试,其实直接使用浏览器也是可以的。)
具体实现如下:
首先我们创建一个Resource。原本在1.0中时继承Resource这个类的。但是在2.0中Resource已经废弃,使用实现UniformResource接口的ServerResource类
public class HelloTest {@Testpublic void testGetHello() throws Exception {ClientResource resource = new ClientResource("http://localhost:8080/RestLetServlet/getHello");resource.get().write(System.out);} }