首先添加 Restlet 需要的Maven Dependency:
<dependency> <groupId>org.restlet.jse</groupId> <artifactId>org.restlet</artifactId> <version>${restlet-version}</version> </dependency> <dependency> <groupId>org.restlet.jee</groupId> <artifactId>org.restlet.ext.servlet</artifactId> <version>${restlet-version}</version> </dependency>
Restlet的version:
<restlet-version>2.3.1</restlet-version>
还有tomcat的plugin:
<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <!-- http port --> <port>8080</port> <!-- application path always starts with / --> <path>/</path> </configuration> </plugin>
web.xml中配置Restlet的 servlet:
<servlet> <servlet-name>RestletServlet</servlet-name> <servlet-class>org.restlet.ext.servlet.ServerServlet</servlet-class> <init-param> <!-- Application class name --> <param-name>org.restlet.application</param-name> <param-value>com.tch.test.restlet.HelloApplication</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>RestletServlet</servlet-name> <url-pattern>/restlet/*</url-pattern> </servlet-mapping>
Application实现类:
package com.tch.test.restlet; import org.restlet.Application; import org.restlet.Restlet; import org.restlet.routing.Router; import com.tch.test.restlet.restprovider.DreamoftchServerResource; import com.tch.test.restlet.restprovider.HelloWorldServerResource; public class HelloApplication extends Application { @Override public Restlet createInboundRoot() { Router router = new Router(getContext()); router.attach("/hello", HelloWorldServerResource.class); return router; } }
Restful 服务provider:
package com.tch.test.restlet.restprovider; import org.restlet.resource.Get; import org.restlet.resource.ServerResource; public class HelloWorldServerResource extends ServerResource{ @Get public String getHello() { return "Hello World, this is hello world server resource ..."; } }
OK
启动tomcat: mvn tomcat7:run
浏览器访问:
http://localhost:8080/restlet/hello
http://localhost:8080/restlet/dreamoftch
就可以看到结果了。
或者通过 Restlet的 ClientResource类:
package com.tch.test.restlet; import java.io.IOException; import org.restlet.resource.ClientResource; import org.restlet.resource.ResourceException; public class RestletTest { public static void main(String[] args) throws ResourceException, IOException { new ClientResource("http://localhost:8080/restlet/hello").get().write(System.out); } }
从控制台输出可以看到结果。
OK, Finish ...