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

Restlet入门示例

阅读更多
本文的目的在于完成一个Restlet入门示例。
首先,是一个Stand alone应用。
然后,将其部署与Tomcat容器中。
最后,完成Restlet与Spring的整合。

1.按照官方教程,完成“firstSteps”

创建一个动态Web工程RestEE,并建立firstSteps包,并复制如下代码到:HelloWorldResource.java

package firstSteps;

import org.restlet.Context;
import org.restlet.Request;
import org.restlet.Response;
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";
    }

}


2.复制如下代码到FirstStepsApplication.java
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.编写main,复制如下代码到:FirstStepsMain.java
package firstSteps;

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

public class FirtstStepsMain {
	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();  
	} 
}



4.以Java Application运行FirstStepsMain,在浏览器中输入:
http://localhost:8182/hello,将打印“hello, world”信息。

5.修改web.xml,具体代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
 
   <display-name>firstSteps</display-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>


6.启动Tomcat,运行该项目。在浏览器中输入:
http://localhost:8080/RestEE/hello,出现“hello, world”信息。

7.集成restlet,spring
7.1 修改web.xml,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
 
   <display-name>firststepsservlet</display-name>
      
   <context-param>  
	  <param-name>contextConfigLocation</param-name>  
      <param-value>/WEB-INF/applicationContext.xml</param-value>  
   </context-param>  
    
   <listener>  
      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
   </listener>  
   
   <!-- Restlet adapter -->  
   	<servlet>  
      	<servlet-name>RestletServlet</servlet-name>  
       	<servlet-class>org.restlet.ext.spring.SpringServerServlet</servlet-class>
		<init-param>
      		<param-name>org.restlet.component</param-name>   
			<param-value>component</param-value>   
	  	</init-param>
	</servlet>  
  
   <!-- Catch all requests -->  
   <servlet-mapping>  
      <servlet-name>RestletServlet</servlet-name>  
      <url-pattern>/*</url-pattern>  
   </servlet-mapping>  
</web-app>


7.2 application.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
 
 	<bean id="component" class="org.restlet.ext.spring.SpringComponent">
 		<property name="defaultTarget" ref="application" /> 
 	</bean>
 	<bean id="application" class="firstSteps.FirstStepsApplication">
 		<lookup-method name="createRoot" bean="root" />
 	</bean>
	<bean id="root" class="org.restlet.ext.spring.SpringRouter">
        <property name="attachments">
            <map>
                <entry key="/hello">
                    <bean class="org.restlet.ext.spring.SpringFinder">
                        <lookup-method name="create" bean="HelloWorldResource" />
                    </bean>
                </entry>
            </map>
        </property>
    </bean>
    <bean id="HelloWorldResource" class="firstSteps.HelloWorldResource" scope="prototype" />
</beans>


7.3 启动Tomcat,运行该项目。浏览器中输入:
http://localhost:8080/RestEE/hello,出现“hello,world”信息。
分享到:
评论
2 楼 cunfu 2011-08-13  
veteran123 写道
FirstStepsMain的代码和上面一样,贴错了,请更正啊

已更正,谢谢
1 楼 veteran123 2011-07-07  
FirstStepsMain的代码和上面一样,贴错了,请更正啊

相关推荐

    restlet入门示例

    至此,你已经完成了Restlet入门示例。当你通过浏览器或者HTTP客户端访问"http://localhost:port/hello"时,你应该能看到"hello world"的响应。 这个简单的示例展示了Restlet如何帮助开发者快速构建RESTful服务。...

    restlet入门helloworld示例

    restlet入门helloworld示例

    RESTLET框架学习书籍

    - 实践编写简单的“Hello, World”示例,包括客户端和服务端。 - **第二章:设计RESTful Web API**: - 掌握RESTful API的设计原则。 - 使用UML等工具进行API的设计和规划。 - 案例分析:设计一个具体的RESTful ...

    Restlet in Action

    - 实例演示:通过一个简单的示例展示如何使用Restlet框架快速搭建RESTful服务。 2. **第2章:启动Restlet应用程序**(Beginning a Restlet application) - **章节概述**:本章讲解了如何创建一个新的Restlet项目...

    restlet1.0源码+doc

    5. **案例研究**:文档可能包含了一些示例应用,展示如何在不同场景下使用Restlet,包括创建复杂的REST服务和客户端应用。 6. **迁移指南**:由于Restlet 1.0与2.0及以上版本存在不兼容性,文档可能包含关于如何从...

    Restlet edition for Java EE FirstStepsServlet

    本篇文章将深入探讨如何使用Restlet Edition进行Java EE的初学者入门,特别是通过一个名为"FirstStepsServlet"的示例项目。我们将围绕这个项目,了解Restlet框架的基本概念、配置、以及如何与Servlet容器(如Tomcat...

    REST服务示例入门

    本代码源自转自【http://www.lifeba.org/arch/restlet_develop_application_component_2.html 】但有改动,主要改动有: 1. 修改了web.xml的段,使工程既可以访问rest服务,又可以访问普通的页面资源,不用再像原...

    REST开发指南

    - **创建 RESTful 服务**:使用 Java 编写简单的 RESTful 服务,可以通过示例项目快速入门。 - **Restlet 框架**:这是一种流行的框架,用于简化 RESTful Web 服务的开发过程。它提供了丰富的功能,如处理各种 HTTP ...

    REST_资源指南_restful.pdf

    为了帮助潜在的REST开发者快速入门并掌握必要的技能,《REST开发者RESTful资源指南》还提供了一系列的工具和资源,包括但不限于: - **开发框架**:介绍了诸如Jersey、Restlet等流行的开发框架,这些框架可以帮助...

    JAVA.WEB服务.构建与运行

    《Java Web服务:构建与运行》通过提供混合架构概述、完整的工作代码示例以及短而精确的编译、部署和执行应用程序的指示,采用明确实用的方法来处理这些技术。你将学习如何从头开始编写Web服务以及集成现有服务到你...

Global site tag (gtag.js) - Google Analytics