Restlet 2.0 - 起步

[b]目录[/b]
这篇文章将带领您花10分钟的时间品尝一个简单的Restlet框架搭建过程,它将向你展示一个经典的"hello, world"资源。
[list]
[*]前提条件
[*]"hello, world"应用程序
[*]在Servlet容器中运行
[*]作为独立的Java应用程序运行
[*]总结
[/list]
[b]1、前提[/b]
我们假设您有一定的java基础知识,并且已经搭建了基于JRE1.5或更高版本的Java运行环境,如果您尚未下载Restlet2.0或更高版,请前往[url]http://www.restlet.org/downloads[/url] 下载。

[b]2、"hello, world"应用程序[/b]
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;
}

}


[b]3、在Servlet容器中运行[/b]
Restlet应用程序可以在您熟悉的Servlet容器中运行。
[list]
[*]创建一个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,代码如下:
[/list]
<?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"。
[img]http://dl.iteye.com/upload/attachment/202907/957f0dc7-c32a-355e-9603-87d63491aa6c.png[/img]

[b]4、作为独立的Java应用程序运行[/b]
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"。

[b]5、总结[/b]
现在您已经掌握了Restlet的初步。我们希望您进一步学习“第一个资源”[url=http://www.restlet.org/documentation/2.0/firstResource]First resource[/url],并且更加深入的学习“Restlet教程”[url=http://www.restlet.org/documentation/2.0/tutorial]Restlet tutorial[/url]。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值