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"。
Restlet 2.0 - 起步

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

你可能感兴趣的:(java,框架,浏览器,servlet,ext)