1.概览
Restlet框架由两个主要部分组成:1)Restlet API,这个API是基于Restlet引擎,现在打包到同一个包中"org.restlet.jar".
API和实现的分离与Servlet API和Web容器,或者JDBC API和 JDBC驱动的关系相似
2.获取网页内容
像我们在介绍页提到的,restlet框架可以即是客户端,又是服务端框架。例如......。在REST中一个连接器,就像一个软件元素,能够在组件(component)之间通信(通过实现一种网络协议)。Restlet提供几种基于开源工程的客户端连接器。连接器部分列出了所有可用的客户端和服务端连接器,并且解释如何使用和配置他们。
这里我们将获得一个存在的资源描述,并输出到JVM的控制台上。......
3.监听Web浏览器。
现在,我们想看一下Restlet矿建如何监听客户端请求,并响应他们的。我们将使用HTTP Server连接器返回一个字符串"Hello,world"文本内容。注意...
如果你运行这段代码,并且部署你的服务,你打开浏览器并且输入:.....。实际上任何URI都能起作用。注意如果你用另一台设备做测试,你需要.....
到这里,我们已经给你用客户端资源和服务端资源像你展示了Restlet中高级抽象的API。但是,如果深入一点,你会发现这两个类都被丰富的API支持,能够让你处理所有的REST风格的artifacts。
4.概览一个REST架构
让我们回过头来,从REST的角度去思考典型的web架构。在下面这张图中,端口表示连接器能够在组件(用大盒子表示)之间进行通信。这些线代表用于通信的具体协议。
注意:相同的组件能够有任意数量的客户端和服务端连接器连接。例如:......
5.组件,虚拟机和应用
除了支持典型的REST软件架构元素,Restlet矿建也恩呢该个提供一系列的类,大大简化单个JVM部署多个应用。目的是提供一种REST风格的,便捷的,更灵活的,可以替代已经存在的Servlet API的选择。在下图中,我们看到为了管理复杂情况,提供了三种类型的Restlets。组件能够管理几个虚拟机和应用。
虚拟机支持灵活的配置,例如相同的 IP可以被几个域名共享,或者为了均衡负载一个域名可以对应几个IP。最后,我们用应用去管理一系列的相关Restlets,资源和Representations。而且,......。而且,他们提供了重要的服务,例如访问日志,自动编码请求,设置可配置的状态页等等。
为了进一步说明这些类,我们做个简单的例子。我们创建一个组件,然后天剑一个监听器,监听8182端口。然后我们创建一个简单的Restlet栈挂到组件的默认主机上。默认主机将捕获任何还没有路由到指定虚拟机的请求。在稍后的例子中,我们将会介绍应用类的使用。现在你看不到任何访问日志打印在控制台上。
6.提供静态文件
......
7.访问日志
记录Web应用的活动日志是一个常见的需求。Restlet组件知道如何生成类似Apache的默认日志或者可定制的日志。利用JDK的日志组件......。注意你能够定制Logger名称通过修改组件的logService属性。为了完全配置日志,你需要通过设置系统属性来声明一个配置文件:......
8.展示错误页
一个常见的需求是能够在处理请求过程中发生意外情况时提供自定义的状态页。可能一个资源没有找到或者可访问的资源不可用,遇到这种情况或者任何任何未处理的异常被拦截,应用或者组件都应该为你自动的提供一个默认的状态页。这个服务与StatuService类相关...。
为了自定义默认消息,你需要...。
9.保护敏感资源的访问
10.URI重定向
11.路由和分层URIs
12.找到目标资源
总结: