Restlet 2.2中Restlet类的分析

Restlet 2.2中Restlet类的分析

org.restlet.Restlet 有三个重要的方法:


一、fireContextChanged(Restlet restlet, Context context) 

这个方法是在一个Restlet 使用构造函数 Restlet(Context context) 以及调用 setContext()方法的时候被触发的,目的是将当前生产的Restlet实例作为child加到context中。

因为每个restlet 在操作之前,都要把和它相关的 context 放置到当前线程池中,这样实际上就把 restlet 也一起放了进去。在任何需要的地方,可以把context取出,同时也就得到了restlet。


二、createFinder( Class<? extends org.restlet.resource.ServerResource> resourceClass) 

在很多的子类中都会用到这个方法。当需要把一个resource 绑定/连接 到一个组件上的时候,就需要Finder来封装。

在一个REST 组件上,通过Finder 可以找到 ServerResource 。实际上就是通过Component或者是Application找到对应的资源uri 。


三、public void handle(Request request, Response response)

这个方法本来是Restlet实现的父类Uniform中就的方法,但是由于没有@Override 声明,所以默认的不覆写父类的方法。

这也是为什么Restlet声明为 abstract class 的原因。

这个方法把 response 加入当前线程池 Response,如果有context,则context也进入 Context 当前线程池。

然后,启动这个Restlet 。

如果启动出现异常或者启动失败,则把response的状态设置为系统错误,返回。

返回后,状态服务会检查response的状态,然后向客户端返回相应的代码: 2xx , 3xx ,4xx , 5xx 。


关于返回客户端的错误代码可参见之前的一篇文章,http的状态码说明:http://blog.csdn.net/zhu_xun/article/details/16843861

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值