`
sb33060418
  • 浏览: 151602 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Restlet 2.0 边学边写(一)第一步

    博客分类:
  • REST
阅读更多
关于Rest的起源和框架、入门资料的一些东西大家可以去看看ajax的博客,我直接从第一步开始吧。

首先要从http://www.restlet.org/downloads/stable下载并安装Restlet,我安装的是2.0.10 Java EE 版。
安装完成后,docs里面是文档,lib里面是我们需要的类库,src是Restlet的源码。src目录下org.restlet.example包里面有很多的例子可以学习,说明可以看readme.txt。

接下来开始我们的第一个应用。
我的环境是JDK1.5+MyEclipse8.6+tomcat5.5.25。

1.创建项目
首先在eclipse中创建一个Web Project,命名为firstSteps,JavaEE级别选5.0。部署在tomcat中后,启动tomcat,通过浏览器访问http://localhost:8080/firstSteps/ 能看到首页。

2.导入包
从Restlet安装目录/lib中将org.restlet.jar拷贝至项目/WebRoot/WEB-INF/lib目录下,并加入Build Path中。

3.Let's Roll
在src目录下创建包com.sunny.restlet.firstSteps。
在包中创建Resource类HelloWorldResource,代码如下:
package com.sunny.restlet.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";
    }

}

这就是我们的资源类,可以看到里面将represent方法注释成@Get,这表明资源类要将represent方法对外提供为Get访问。

接下来是Application类FirstStepsApplication:
package com.sunny.restlet.firstSteps;

import org.restlet.Application;
import org.restlet.Restlet;
import org.restlet.routing.Router;
public class FirstStepsApplication extends Application { 
    @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;   
    }   
}  

FirstStepsApplication中将HelloWorldResource附加到Context上。

我们需要一个主类将Application附加到Host上并启动服务:
package com.sunny.restlet.firstSteps;

import org.restlet.Component;
import org.restlet.data.Protocol;

public class FirstStepsMain {
	public static void main(String[] args) throws Exception {  
	    // 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("/firstSteps",  
	            new FirstStepsApplication());  
	  
	    // Start the component.  
	    component.start();  
	}          
}

主类会启动本地的8182端口作为主机并将FirstStepsApplication附加到/firstSteps目录。

4.运行
运行FirstStepsMain类,会输出以下信息:
  • 2012-1-11 2:25:35 org.restlet.engine.http.connector.HttpServerHelper start
  • 信息: Starting the internal HTTP server on port 8182

此时可以通过浏览器访问http://localhost:8182/firstSteps/就可以看到提示信息“hello, world”了。
第一个Restlet应用运行成功。

5.在Servlet容器中运行
刚才只是我们运行一个主类来启动8182端口作为主机,很多人可能更希望在Servlet容器中启动服务。
5.1.导入包
想要在Servlet容器中运行Restlet,需要导入包org.restlet.ext.servlet.jar,同样可以在Restlet/lib目录下找到它。
5.2.配置RestletServlet
修改WEB-INF/web.xml,在</web-app>前加入以下配置:
<servlet>
	<servlet-name>RestletServlet</servlet-name>
	<servlet-class>org.restlet.ext.servlet.ServerServlet</servlet-class>

	<!-- FirstStepsApplication -->
	<init-param>
		<param-name>org.restlet.application</param-name>
		<param-value>com.sunny.restlet.firstSteps.FirstStepsApplication</param-value>
	</init-param>
</servlet>

<!-- Catch all requests -->
<servlet-mapping>
	<servlet-name>RestletServlet</servlet-name>
	<url-pattern>/*</url-pattern>
</servlet-mapping>

5.3.部署运行
重新部署firstSteps,通过浏览器访问http://localhost:8080/firstSteps/就可以看到首页变成提示信息“hello, world”了。
至此Servlet运行成功。
分享到:
评论
5 楼 sb33060418 2014-09-05  
niepeishen 写道
博主,很抱歉,我不明白为什么在web.xml文件中设置servlet项后,端口就变成了8080

因为我的tomcat默认是8080端口。在web.xml中设置servlet后,访问就是通过web容器来进行的,所以使用的是web容器的接口
4 楼 niepeishen 2014-05-21  
博主,很抱歉,我不明白为什么在web.xml文件中设置servlet项后,端口就变成了8080
3 楼 kindhyh 2013-07-28  
kindhyh 写道
兄弟,问个问题,我下载下来的restlet-jse-2.0.10.jar中没有org.restlet.ext.servlet.jar嘛。是不是有问题

已经解决了,我下的版本不对,该下JEE的
2 楼 kindhyh 2013-07-28  
兄弟,问个问题,我下载下来的restlet-jse-2.0.10.jar中没有org.restlet.ext.servlet.jar嘛。是不是有问题
1 楼 houemail 2012-06-15  
非常有用,基础!

相关推荐

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

    在本篇博文中,我们将深入探讨如何利用jQuery和Ajax技术与Restlet 2.0框架进行交互,实现对Restful资源的创建(Create)、读取(Read)、更新(Update)和删除(Delete)操作,即CRUD操作。Restlet是一个开源的Java ...

    restlet2.0版本jee源代码

    Restlet是一个开源框架,专为构建RESTful(Representational State Transfer)Web服务而设计。REST是一种轻量级的架构风格,常用于构建互联网应用程序。在Restlet 2.0版本中,它支持Java Enterprise Edition (Java ...

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

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

    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开发

    下载地址:[http://www.restlet.org/downloads/2.0/restlet-jee-2.0.6.zip](http://www.restlet.org/downloads/2.0/restlet-jee-2.0.6.zip) 2. **解压缩并设置环境变量** 解压缩下载的文件到指定位置,假设解压缩...

    restlet

    RESTlet是一款开源框架,专为构建基于REST(Representational State Transfer)原则的Web服务和应用程序设计。REST是一种轻量级的架构风格,广泛应用于互联网应用的开发,它强调通过简单的HTTP方法(如GET、POST、...

    RESTlet自用2

    总的来说,RESTlet自用2可能是一个基于RESTlet 2.0版本并结合Spring框架的个人项目,该项目可能涉及到了RESTful服务的开发、JAX-RS标准的实现以及Spring的集成。相关的学习资料,如"MHT"文件和"PPT",提供了理论知识...

    restlet所需jar包一

    描述中提到的"restlet所需jar包一"可能是指一系列jar包中的第一部分,可能意味着有其他配套的jar包需要一起使用以完整支持Restlet框架。这通常意味着在实际项目中,我们需要确保获取到所有必要的jar包,以便正确地...

    Restlet开发实例

    Restlet是一款强大的开源框架,专为构建RESTful(Representational State Transfer)Web服务而设计。REST是一种轻量级的架构风格,广泛应用于Web应用程序的开发,以提高性能、可伸缩性和可维护性。本系列的开发实例...

    RESTLET框架学习书籍

    - **RESTLET框架简介**:RESTLET是一个面向对象的Java开源框架,用于构建RESTful应用和服务。它旨在简化Web应用开发,允许开发者充分利用REST架构的优势。RESTLET提供了一系列丰富的类库和支持,帮助开发者更容易地...

    Restlet in action 英文 完整版

    在《Restlet in Action》的第一章“Introducing the Restlet Framework”中,作者们详细解释了Restlet框架的核心概念,包括组件模型、资源模型以及如何使用这些模型来构建Web服务。此外,还介绍了一些高级特性,如...

    restlet2.1学习笔记项目代码

    Restlet是一个开源框架,专为构建RESTful(Representational State Transfer)Web服务而设计。REST是一种轻量级的架构风格,常用于构建可扩展、高性能的互联网应用程序。本项目是针对Restlet 2.1版本的学习笔记,...

    restlet项目

    Restlet项目是一个开源框架,专门用于构建RESTful(Representational State Transfer)Web服务。REST是一种软件架构风格,它强调简洁、可扩展性和无状态性,是Web服务设计的主流方式。Restlet框架提供了全面的工具集...

    Restlet开发的Basic认证

    Restlet是一个轻量级的Java Web服务开发框架,它提供了构建RESTful(Representational State Transfer)应用程序的工具和API。REST是一种架构风格,强调简洁、无状态和可缓存的网络交互,常用于构建高性能、高可用性...

    restlet实现最简单的restful webservice

    Restlet是一款开源框架,专为构建RESTful Web服务和客户端应用程序设计。REST(Representational State Transfer)是一种轻量级的架构风格,广泛用于构建互联网应用,因为它提供了高效、分布式的系统设计原则。本文...

    Restlet与Spring 集成

    Restlet是一个轻量级的Java框架,专门用于构建REST(Representational State Transfer)架构风格的应用程序。它遵循JAX-RS(Java API for RESTful Web Services)规范,提供了丰富的API来处理HTTP请求和响应,简化了...

    Restlet所需要的所有jar包

    Restlet是一款开源的Java框架,专门用于构建RESTful(Representational State Transfer)Web服务。REST是一种轻量级的架构风格,常用于构建高效、可扩展的网络应用程序。本压缩包包含Restlet框架运行所需的全部jar...

    Restlet Client-2.13.2

    Restlet Client插件是一款运行在chrome内核浏览器上的Web服务测试插件,该插件主要用于测试各种Web服务,能查看网站基本信息、浏览网页代码并能发送HTTP请求来测试网站Web服务,同时支持自动化API场景。用户在安装了...

Global site tag (gtag.js) - Google Analytics