关于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运行成功。
分享到:
相关推荐
NULL 博文链接:https://sb33060418.iteye.com/blog/1768621
Restlet2.0用户指南
restlet2.0版本jee源码,例子,jar包,api等内容
简单做了一个rsh框架的集成,知道这个而且需要欢迎下载,大家有需要的下载了给点宝贵意见。
restlet框架所需的所有jar包,可以用来进行restlet开发。
restlet相关文档
Restlet Client插件是一款运行在chrome内核浏览器上的Web服务测试插件,该插件主要用于测试各种Web服务,能查看网站基本信息、浏览网页代码并能发送HTTP请求来测试网站Web服务,同时支持自动化API场景。用户在安装了...
restlet2.0 Restlet Caused by: java.lang.ClassNotFoundException: com.sun.syndication.feed.synd.SyndFeed java.lang.NoClassDefFoundError: com/sun/syndication/feed/synd/SyndFeed
一个软件应可以既充当Web客户端又充当Web服务器,而无须采用两套完全不同的APIs。 编写Restlet客户端 要确保把以下JAR包写在你的classpath中,才能成功编译并运行接下来的例子: * org.restlet.jar(Restlet API)...
restlet所需jar包一
一个简单的Restlet开发框架的Basic认证的例子
Restlet所需要的所有jar包 一次下载,以后高枕无忧!
restlet项目
Restlet与Spring 集成
Restlet项目为“建立REST概念与Java类之间的映射”提供了一个轻量级而全面的框架。它可用于实现任何种类的REST式系统,而不仅仅是REST式Web服务;而且,事实证明它自从2005年诞生之时起,就是一个可靠的软件。 ...
restlet2.1学习笔记项目代码
资源里面包含了Restlet从入门到高级的开发过程,对学习Restlet有很大的帮助
RESTLET开发实例(一)基于JAX-RS的REST服务
restlet2.0.9包 restlet2.0.9包