restlet借助servlet部署到Tomcat

来源:互联网 发布:cn域名个人能备案吗 编辑:程序博客网 时间:2024/05/16 16:15

restlet借助servlet部署到Tomcat

本文描述利用通过 org.restlet.ext.servlet.ServerServlet ,实现到Tomcat环境的部署。有两种实现方式,分别如下:

所需jar包:org.restlet.ext.servlet .jar、org.restlet.jar

1、用 Application实现

  项目结构如下:

 

1)、创建两个继承 ServerResource的类

FirstServerResource.java:

package test;import org.restlet.resource.Get;import org.restlet.resource.ServerResource; //定义一个资源public class FirstServerResource extends ServerResource {         @Get    public String toString() {        return "Hello World  !";    }     }


SecondServerResource.java:

package test;import org.restlet.resource.Get;import org.restlet.resource.ServerResource; //定义一个资源public class SecondServerResource extends ServerResource {      @Get    public String toString() {        return "two***!";    }     }


2)、创建一个继承 Application 的类(ServerApplication.java):

ServerApplication.java:

package test;import org.restlet.Application;import org.restlet.Restlet;import org.restlet.routing.Router; //为资源配置路径public class ServerApplication extends Application {        @Override    public Restlet createInboundRoot() {        Router router = new Router(this.getContext());        //绑定资源路径到对应的处理资源类        router.attach("/first", FirstServerResource.class);        router.attach("/second", SecondServerResource.class);        return router;    }     }

3)、修改web.xmlview plain

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  <welcome-file-list>    <welcome-file>index.jsp</welcome-file>  </welcome-file-list>    <context-param>    <param-name>org.restlet.application</param-name> <!--  自定义org.restlet.Application扩展类  --><param-value>test.ServerApplication</param-value></context-param><servlet><servlet-name>RestletServlet</servlet-name><servlet-class>org.restlet.ext.servlet.ServerServlet</servlet-class></servlet><servlet-mapping><servlet-name>RestletServlet</servlet-name><url-pattern>/*</url-pattern></servlet-mapping></web-app>


4)、启动Tomcat,分别通过http://localhost:8182/testRestLet01-2/first、http://localhost:8182/testRestLet01-2/second访问。


2、用Component实现 

  项目结构如下:


1)、创建两个继承 ServerResource的类(FirstServerResource.java、SecondServerResource.java):方法同上

2)、创建两个继承 Application 的类(FirstServerApplication.java、SecondServerApplication.java):

     FirstServerApplication.java:

package application;import org.restlet.Application;import org.restlet.Restlet;import org.restlet.routing.Router;import resource.FirstServerResource; //为资源配置路径public class FirstServerApplication extends Application {       @Override    public Restlet createInboundRoot() {        Router router = new Router(this.getContext());      //绑定资源路径到对应的处理资源类        router.attach("/one", FirstServerResource.class);        return router;    }     }

SecondServerApplication.java:

package application;import org.restlet.Application;import org.restlet.Restlet;import org.restlet.routing.Router;import resource.SecondServerResource; //为资源配置路径public class SecondServerApplication extends Application {       @Override    public Restlet createInboundRoot() {        Router router = new Router(this.getContext());      //绑定资源路径到对应的处理资源类        router.attach("/two", SecondServerResource.class);        return router;    }     }

3)、创建一个继承 Component 的类(MyComponent.java):

MyComponent.java:

package component;import org.restlet.Component;import application.FirstServerApplication;import application.SecondServerApplication;public class MyComponent extends Component{/** * 重写createInboundRoot通过attach方法绑定资源类,并且制定了访问路径 * */public MyComponent(){getDefaultHost().attach("/first", new FirstServerApplication());getDefaultHost().attach("/second", new SecondServerApplication());}}


4)、配置 web.xml

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><context-param><param-name>org.restlet.component</param-name><param-value>component.MyComponent</param-value></context-param><servlet><servlet-name>RestletServlet</servlet-name><servlet-class>org.restlet.ext.servlet.ServerServlet</servlet-class></servlet><servlet-mapping><servlet-name>RestletServlet</servlet-name><url-pattern>/*</url-pattern></servlet-mapping></web-app>

5)、部署后,通过 localhost:8182/testRestLet01-2/first/one 和 localhost:8182/testRestLet01-2/Second/two访问。

注:在restlet中一个component可以对应多个application,一个application可以对应多个resource

原创粉丝点击