目录
这篇文章将带领您花10分钟的时间品尝一个简单的Restlet框架搭建过程,它将向你展示一个经典的"hello, world"资源。
- 前提条件
- "hello, world"应用程序
- 在Servlet容器中运行
- 作为独立的Java应用程序运行
- 总结
1、前提
我们假设您有一定的java基础知识,并且已经搭建了基于JRE1.5或更高版本的Java运行环境,如果您尚未下载Restlet2.0或更高版,请前往
http://www.restlet.org/downloads 下载。
2、"hello, world"应用程序
Restlet应用的核心是“资源”(Resource)。下面我们创建“资源”:HelloWorldResource.class,代码如下:
package firstSteps;
import org.restlet.resource.Get;
import org.restlet.resource.ServerResource;
/**
* Resource which has only one representation.
*
*/
public class HelloWorldResource extends ServerResource {
@Get
public String represent() {
return "hello, world";
}
}
接下来我们创建“应用”:FirstStepsApplication.class,代码如下:
package firstSteps;
import org.restlet.Application;
import org.restlet.Restlet;
import org.restlet.routing.Router;
public class FirstStepsApplication extends Application {
/**
* Creates a root Restlet that will receive all incoming calls.
*/
@Override
public synchronized Restlet createInboundRoot() {
// Create a router Restlet that routes each call to a
// new instance of HelloWorldResource.
Router router = new Router(getContext());
// Defines only one route
router.attach("/hello", HelloWorldResource.class);
return router;
}
}
3、在Servlet容器中运行
Restlet应用程序可以在您熟悉的Servlet容器中运行。
- 创建一个Servlet项目;
- 新建一个包(Package):firstStepsServlet;
- 把上面建立的两个类HelloWorldResource.class和FirstStepsApplication.class导入这个包中;
- 然后将Restlet框架的org.restlet.jar和org.restlet.ext.servlet_2.5.jar拷贝到Servlet项目的库目录下(一般是WEB-INF/lib);
- 更新Servlet项目的的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>
firstSteps.FirstStepsApplication
</param-value>
</context-param>
<!-- Restlet adapter -->
<servlet>
<servlet-name>RestletServlet</servlet-name>
<servlet-class>
org.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>
【提示:需要加入org.restlet.jar和javax.servlet.jar】
您可以将项目打包为firstStepsServlet.war并且部署在您的Servlet容器里运行,打开浏览器,输入:http://<your server name>:<its port number>/firstStepsServlet/hello,不出意外的话,将会呈现"hello, world"。
4、作为独立的Java应用程序运行
Restlet框架允许作为独立的Java应用程序运行,仅需要用到org.restlet.jar即可实现。在FistStepsApplication中新建一个方法,代码如下:
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());
// Start the component.
component.start();
} catch (Exception e) {
// Something is wrong.
e.printStackTrace();
}
}
【提示:需要import org.restlet.Restlet和org.restlet.data.Protocol;】
然后,编译运行。在浏览器里输入http://localhost:8182/hello,不出错误的话,浏览器将呈现"hello, world"。
5、总结
现在您已经掌握了Restlet的初步。我们希望您进一步学习“第一个资源”
First resource,并且更加深入的学习“Restlet教程”
Restlet tutorial。