`
七月十五
  • 浏览: 23355 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Restlet 2.0 - 起步

阅读更多
目录
这篇文章将带领您花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
  • 大小: 60.9 KB
分享到:
评论
2 楼 niepeishen 2014-05-13  
博主你好,我在写您上面代码时,在FirstStepsApplication这个class文件中 我希望写 @Override时出现报错 The method createRoot() of type HelloWorldApplication must override or implement a supertype method  也就是@override无法写出  可是 createRoot 改成  createInboundRoot就好了 我的restlet版本是2.2  能帮助下吗 谢谢
1 楼 niweiwei 2011-06-10  
你好,按照你的配置,在启动tomcat后,在浏览器里输入http://<your server name>:<its port number>/firstStepsServlet/hello地址后,不能再页面上展现hello,word,而是弹出一个下载文件的对话框,是怎么回事
谢谢

相关推荐

    restlet2.0版本jee源代码

    了解了这些基本概念后,你可以通过解压"restlet-jee-2.0.14"压缩包,查看源代码、例子和API文档,更深入地学习Restlet 2.0如何在Java EE环境中实现REST服务。这将有助于你开发出高效、灵活且易于维护的Web应用程序。

    Restlet Client - REST API Testing

    Restlet Client - REST API Testing,用来发送请求,可用于测试后端代码,简单易用

    Restlet Client - REST API Testing.crx

    Chrome插件 Visually create and run single HTTP requests as well as complex scenarios. Automate your API tests with our CI/CD plugin.

    restlet-jee-2.0.6.zip_Restlet 2..0_Restlet framework2.0_org.rest

    标题"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 Client - REST API Testing(DHC)

    1. **安装DHC**: 通过访问链接&lt;https://chrome.google.com/webstore/detail/restlet-client-dhc-rest-api/aejoelaoggembcahagimdiliamlcdmfm&gt;,将DHC添加到Chrome或Firefox浏览器。 2. **创建请求**: 在DHC界面中...

    Web Api调试工具 Chrome插件Restlet-Client-REST-API-Testing

    Chrome插件Restlet Client - REST API Testing是一款非常实用的工具,专为Web API的调试和测试设计。这款插件支持多种HTTP方法(如GET、POST、PUT、DELETE等),并提供了丰富的功能,使得API测试过程更加高效和便捷...

    chromecj.com-Restlet-Client-REST-API-Testing_v2.8.0.1.zip

    "chromecj.com-Restlet-Client-REST-API-Testing_v2.8.0.1.zip" 是一个针对 Chrome 浏览器的扩展程序包,主要用于 REST API 的测试。Restlet Client 是一个强大的工具,它使得开发者和测试人员能够轻松地进行 ...

    最新版本Restlet Client - REST API Testing

    适用最新版的chrome,DHC是一款可以帮助用户使用chrome插件模拟HTTP客户端发送测试数据到服务器的谷歌浏览器插件,在chrome中安装了DHC插件以后,就可在服务器端代码初步完成的时候,使用DHC进行数据测试,以便更早地...

    RESTlet-jee-2.0.9自用.rar

    "restlet-jee-2.0.9.zip"是RESTlet-jee-2.0.9的源代码或者库文件,可能包含了所需的jar包、文档和其他资源,用于在项目中直接引用或进行二次开发。 总的来说,RESTlet-jee-2.0.9自用.rar这个压缩包是一个关于使用...

    Restlet 2.0 边学边写(八)使用jQuery和ajax实现对Restlet资源的CRUD操作

    url: 'http://your-restlet-server.com/resources', data: JSON.stringify(yourData), contentType: 'application/json', success: function(response) { console.log('Resource created:', response); }, ...

    restlet-client-rest-api-t.crx

    restlet-client 谷歌插件 接口调试 最新

    chromecj.com-Restlet-Client-REST-API-Testing_v2.8.0.1.rar

    在“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服务的...

    restlet2.0+spring3.0+hibernate3.3.框架集成

    在这个场景中,我们关注的是"restlet2.0+spring3.0+hibernate3.3"的整合,这是一个经典的Java Web开发组合,分别代表了RESTful API、服务层管理和持久化层的优秀实践。 首先,让我们深入了解每个框架的核心特性: ...

    restlet-jee-2.0.3

    Restlet是一个开源框架,专为构建RESTful Web服务和应用程序设计。REST(Representational State Transfer)是一种轻量级的架构风格,广泛应用于Web服务和API的设计,强调资源的表示和状态转移。Restlet JEE 2.0.3是...

    Restlet-Client-REST-API-Testing_v2.8.0.1

    Restlet Client是一款强大的REST API测试工具,尤其在与Chrome浏览器结合使用时,它能为开发者提供便捷的API接口测试和调试功能。此版本为v2.8.0.1,表明这是一个更新到一定稳定性的软件,可能包含了之前版本的改进...

    restlet-jse

    "Restlet-JSE"是一个基于Java的开源框架,专门用于构建RESTful(Representational State Transfer)Web服务。REST是一种轻量级的、架构风格的网络应用程序设计方法,它强调资源的表述和状态转移,通常用于构建高效、...

    restlet-j2ee-2.0.15.rar

    标题中的"restlet-j2ee-2.0.15.rar"指的是Restlet框架的一个特定版本,即2.0.15,适用于Java EE平台。这个压缩包可能包含了该版本的源代码、JAR文件、文档、示例以及相关的配置文件,供开发者在J2EE环境下集成和使用...

Global site tag (gtag.js) - Google Analytics