使用component将Restlet服务当做单独的Java程序进行部署

 使用component将Restlet服务当做单独的Java程序进行部署

  项目结构如下:


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

FirstServerResource.java:

[java]  view plain copy
  1. package test;  
  2.   
  3. import org.restlet.resource.Get;  
  4. import org.restlet.resource.ServerResource;  
  5.    
  6. //定义一个资源  
  7. public class FirstServerResource extends ServerResource {  
  8.        
  9.     @Get  
  10.     public String toString() {  
  11.         return "Hello World  !";  
  12.     }  
  13.        
  14. }  


SecondServerResource.java:

[java]  view plain copy
  1. package test;  
  2.   
  3. import org.restlet.resource.Get;  
  4. import org.restlet.resource.ServerResource;  
  5.    
  6. //定义一个资源  
  7. public class SecondServerResource extends ServerResource {  
  8.     
  9.     @Get  
  10.     public String toString() {  
  11.         return "two***!";  
  12.     }  
  13.        
  14. }  

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

     FirstServerApplication.java:

[java]  view plain copy
  1. package application;  
  2.   
  3. import org.restlet.Application;  
  4. import org.restlet.Restlet;  
  5. import org.restlet.routing.Router;  
  6.   
  7. import resource.FirstServerResource;  
  8.  //为资源配置路径  
  9. public class FirstServerApplication extends Application {  
  10.      
  11.     @Override  
  12.     public Restlet createInboundRoot() {  
  13.         Router router = new Router(this.getContext());  
  14.       //绑定资源路径到对应的处理资源类  
  15.         router.attach("/one", FirstServerResource.class);  
  16.         return router;  
  17.     }  
  18.        
  19. }  

SecondServerApplication.java:

[java]  view plain copy
  1. package application;  
  2.   
  3. import org.restlet.Application;  
  4. import org.restlet.Restlet;  
  5. import org.restlet.routing.Router;  
  6.   
  7. import resource.SecondServerResource;  
  8.  //为资源配置路径  
  9. public class SecondServerApplication extends Application {  
  10.      
  11.     @Override  
  12.     public Restlet createInboundRoot() {  
  13.         Router router = new Router(this.getContext());  
  14.       //绑定资源路径到对应的处理资源类  
  15.         router.attach("/two", SecondServerResource.class);  
  16.         return router;  
  17.     }  
  18.        
  19. }  

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

MyComponent.java:

[java]  view plain copy
  1. package component;  
  2.   
  3. import org.restlet.Component;  
  4.   
  5. import application.FirstServerApplication;  
  6. import application.SecondServerApplication;  
  7.   
  8. public class MyComponent extends Component{  
  9.       
  10.     /** 
  11.      * 重写createInboundRoot通过attach方法绑定资源类,并且制定了访问路径 
  12.      * */  
  13.     public MyComponent(){  
  14.         getDefaultHost().attach("/first"new FirstServerApplication());  
  15.         getDefaultHost().attach("/second"new SecondServerApplication());  
  16.     }  
  17. }  
4.编写启动服务类RestLetServer.java:

(1).

package server;

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

public class RestletServer {

	/**
	 * 将Restlet服务当做单独的Java程序进行部署
	 */
	public static void main(String[] args) throws Exception {
	
		Component component = new MyComponent();
		component.getServers().add(Protocol.HTTP, 8080);
		component.start();
		System.out.println("WebServer服务启动成功!开启端口号为:8080");
	}
}

上面的这种写法用到了自定义的component即MyComopent.java,如果不使用 MyComopent.java配置,可以这样写:

(2).

package server;

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

import application.FirstServerApplication;

public class RestletServer {

	/**
	 * 将Restlet服务当做单独的Java程序进行部署
	 */
	public static void main(String[] args) throws Exception {
		 Component component = new Component(); 
		component.getServers().add(Protocol.HTTP, 8080);
		component.getDefaultHost().attach("/testRestLet01-3/first",new FirstServerApplication());
		component.getDefaultHost().attach("/testRestLet01-3/second",new FirstServerApplication());
		System.out.println("WebServer服务启动成功!开启端口号为:8080");
	}
}

5.启动RestletServer.java程序,即将Restlet服务当做单独的Java程序进行部署,然后通过浏览器访问:

如果用的是4.(1)中的写法,访问地址如下:http://localhost:8182/first、http://localhost:8182/second

如果用的是4.(2)中的写法,访问地址如下:http://localhost:8182/testRestLet01-2/first、http://localhost:8182/testRestLet01-2/second








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值