猫咪最近看了些REST的东西,被搞得昏头昏脑的。就下了个RestLet框架想试试看。猫咪尝试着把RestLet的入门例子文档翻译成了中文,希望能以此加深对REST的了解。猫咪在此贴出来,希望对大家能有所帮助。猫咪翻译的不好,大家多多指教。这是目前的第二稿。猫咪今天又做了一次修改。
Restlet第一步
目录
这篇文章让你在10分钟内尝试简单的Restlet框架。告诉你如何创建一个说“hello, world”的Resource。
1.我需要什么?
2.“hello, world”应用
3.在Servlet容器中运行
4.作为一个单独的Java应用运行
5.结尾
我需要什么?
我们假设你已经有了一个可以马上使用的开发环境,并且你已经安装了JRE1.5(或更高)。如果你还没有下载Restlet,请选择最新的Restlet Framework 1.0发行版。
“hello, world”应用
让我们开始一个REST应用:“Resource”的核心。这些单一Resource代码,确定了一个简单应用。拷贝/粘贴代码到“HelloWorldResource”类中。
import org.restlet.Context;
import org.restlet.data.MediaType;
import org.restlet.data.Request;
import org.restlet.data.Response;
import org.restlet.resource.Representation;
import org.restlet.resource.Resource;
import org.restlet.resource.StringRepresentation;
import org.restlet.resource.Variant;
public class HelloWorldResource extends Resource {
public HelloWorldResource(Context context, Request request,
Response response) {
super(context, request, response);
// This representation has only one type of representation.
getVariants().add(new Variant(MediaType.TEXT_PLAIN));
}
@Override
public Representation getRepresentation(Variant variant) {
Representation representation = new StringRepresentation(
"hello, world", MediaType.TEXT_PLAIN);
return representation;
}
}
然后创建应用例子。我们创建名为“FirstStepsApplication”对象并拷贝/粘贴下面的代码:
import org.restlet.Application;
import org.restlet.Restlet;
import org.restlet.Router;
public class FirstStepsApplication extends Application {
public FirstStepsApplication(Context parentContext) {
super(parentContext);
}
@Override
public synchronized Restlet createRoot() {
// Create a router Restlet that routes each call to a
// new instance of HelloWorldResource.
Router router = new Router(getContext());
// Defines only one route
router.attachDefault(HelloWorldResource.class);
return router;
}
}
在Servlet容器中运行
你可能更熟悉Servlets,我们建议你运行Restlet应用在你喜欢的Servlet容器里。像往常一样创建一个新的Servlet应用,添加“com.firstStepsServlet”包并把Resource和Application类放进去。把下面列出的jar包放入lib目录。
org.restlet.jar
com.noelios.restlet.jar
com.noelios.restlet.ext.servlet_2.4.jar
然后按下面的配置修改“web.xml”配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>first steps servlet</display-name>
<!-- Application class name -->
<context-param>
<param-name>org.restlet.application</param-name>
<param-value>
com.firstStepsServlet.FirstStepsApplication
</param-value>
</context-param>
<!-- Restlet adapter -->
<servlet>
<servlet-name>RestletServlet</servlet-name>
<servlet-class>
com.noelios.restlet.ext.servlet.ServerServlet
</servlet-class>
</servlet>
<!-- Catch all requests -->
<servlet-mapping>
<servlet-name>RestletServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
最好,将程序打包成一个war文件,例如“firstStepsServlet.war”,并部署到你的Servlet容器里。启动Servlet容器后,打开你喜欢的浏览器,输入URL:“http://<你的服务器名>:<端口号>/firstStepsServlet”。服务器将高兴地用“hello, world”欢迎你。
你可以直接从http://www.restlet.org/documentation/1.0/examples/firstSteps/sources.zip下载“First steps application”的war文件(已包含Restlet 1.0.7的lilb包)。
作为一个单独的Java应用运行
Restlet应用并不只能运行在Servlet容器里,也可以使用下面几个Jar包所为一个独立应用运行:
org.restlet.jar
com.noelios.restlet.jar
com.noelios.restlet.ext.simple.jar
org.simpleframework.jar
如果你想要理解后面两个Jar包的意义,你可以参考连接器(http://www.restlet.org/documentation/1.0/connectors)。
创建一个主类,拷贝/粘贴下面的代码。建立一个新的HTTP服务器监听端口8182并委托所有的请求给“FirstStepsApplication”。
public static void main(String[] args) {
try {
// Create a new Component.
Component component = new Component();
// Add a new HTTP server listening on port 8182.
component.getServers().add(Protocol.HTTP, 8182);
// Attach the sample application.
component.getDefaultHost().attach(
new FirstStepsApplication(component.getContext()));
// Start the component.
component.start();
} catch (Exception e) {
// Something is wrong.
e.printStackTrace();
}
}
启动Main对象,打开你喜欢的浏览器,输入URL:“http://localhost:8182/”,服务器将高兴地用“hello, world”欢迎你。否则,确认Classpath正确且没有其他应用占用8182端口。
你能在http://www.restlet.org/documentation/1.0/examples/firstSteps/sources.zip找到这个例子应用的源文件。
结尾
我们希望你喜欢这个简单的例子,我们现在鼓励你进一步阅读“第一个Resource”(http://www.restlet.org/documentation/1.0/firstResource)或开始深入Restlet Tutorial(http://www.restlet.org/documentation/1.0/tutorial)。
备注:
感谢Didier Girard提议写这篇文章。
分享到:
相关推荐
总结来说,org.restlet-2.3.0.jar作为一款强大的RESTful开发库,以其出色的兼容性、模块化设计和丰富的功能,成为Java开发者构建RESTful服务的理想选择。随着技术的不断演进,org.restlet库将继续为Java RESTful开发...
RESTlet-jee-2.0.9是RESTlet框架的一个特定版本,适用于Java企业版(Java Enterprise Edition,简称JEE)环境。 在RESTlet-jee-2.0.9中,开发者可以利用JAX-RS(Java API for RESTful Web Services)标准来创建REST...
restlet-client 谷歌插件 接口调试 最新
"Restlet-JSE"是一个基于Java的开源框架,专门用于构建RESTful(Representational State Transfer)Web服务。REST是一种轻量级的、架构风格的网络应用程序设计方法,它强调资源的表述和状态转移,通常用于构建高效、...
org.restlet-2.0.0.jar是Restlet框架的一部分,这是一个开源的Java库,专门为构建RESTful应用程序而设计。 Restlet框架提供了丰富的API,涵盖了REST架构的所有主要方面,包括客户端和服务器端的组件。例如,`org....
标题中的"restlet-j2ee-2.0.15.rar"指的是Restlet框架的一个特定版本,即2.0.15,适用于Java EE平台。这个压缩包可能包含了该版本的源代码、JAR文件、文档、示例以及相关的配置文件,供开发者在J2EE环境下集成和使用...
在“chromecj.com-Restlet-Client-REST-API-Testing_v2.8.0.1.rar”压缩包中,包含的是Restlet Client的扩展文件“chromecj.com-Restlet-Client-REST-API-Testing_v2.8.0.1.crx”。 Restful API是现代Web服务的...
Restlet是一个开源框架,专为构建RESTful Web服务和应用程序设计。REST(Representational State Transfer)是一种轻量级的架构风格,广泛应用于Web服务和API的设计,强调资源的表示和状态转移。Restlet JEE 2.0.3是...
### Restlet-Client 2.8.01谷歌插件知识点详解 #### 一、Restlet Client 插件概述 **Restlet Client**插件是一款功能强大的Web服务测试工具,适用于基于Chrome内核的浏览器。它能够帮助用户轻松地创建、发送HTTP...
Restlet Client是一款强大的REST API测试工具,尤其在与Chrome浏览器结合使用时,它能为开发者提供便捷的API接口测试和调试功能。此版本为v2.8.0.1,表明这是一个更新到一定稳定性的软件,可能包含了之前版本的改进...
Restlet项目为“建立REST概念与Java类之间的映射”提供了一个轻量级而全面的框架。它可用于实现任何种类的REST式系统,而不仅仅是REST式Web服务;而且,事实证明它自从2005年诞生之时起,就是一个可靠的软件。 ...
Restlet项目为“建立REST概念与Java类之间的映射”提供了一个轻量级而全面的框架。它可用于实现任何种类的REST式系统,而不仅仅是REST式Web服务;而且,事实证明它自从2005年诞生之时起,就是一个可靠的软件。 ...
"chromecj.com-Restlet-Client-REST-API-Testing_v2.8.0.1.zip" 是一个针对 Chrome 浏览器的扩展程序包,主要用于 REST API 的测试。Restlet Client 是一个强大的工具,它使得开发者和测试人员能够轻松地进行 ...
Restlet项目为“建立REST概念与Java类之间的映射”提供了一个轻量级而全面的框架。它可用于实现任何种类的REST式系统,而不仅仅是REST式Web服务
标题 "camel-restlet-spring-web-app" 暗示了一个基于Apache Camel、Restlet和Spring Web的应用程序示例,该示例使用Jetty作为嵌入式服务器。这个项目结合了这些技术来创建一个RESTful API服务。让我们深入探讨每个...
org.restlet-2.1.1.jar
标题"restlet-jee-2.0.6.zip_Restlet 2..0_Restlet framework2.0_org.rest"表明这是一个针对Java企业版(Java EE)的Restlet框架2.0.6版本的压缩包,其中包含了与org.restlet相关的组件。 描述中的"restlet框架所需...
"restlet-jee-2.2.2"是Restlet框架的一个特定版本,适用于Java EE环境。这个版本的发布旨在为Java EE开发者提供一个高效且灵活的工具,用于构建符合REST原则的应用程序。以下是关于Restlet和其在Java EE中的应用的...
在"restlet-jse-2.2.1.zip"这个压缩包中,我们可以期待找到以下内容: 1. **库文件**:包括JAR文件,如`restlet-api.jar`、`restlet-engine.jar`等,这些是Restlet框架的核心组件,提供了处理HTTP请求、响应、资源...
标题中的"org.restlet-1.1.7.jar.zip"是一个Java库的压缩文件,它包含的是Restlet框架的1.1.7版本。Restlet是一个开源项目,它提供了一个用于构建REST(Representational State Transfer)应用程序的轻量级框架。...