restlet2.1学習ノート(二)Get Post Put要求をそれぞれ処理する

2852 ワード

servletはGETとPOSTの2つのリクエストのみをサポートします.
ただしrestletではGETやPOSTリクエストのほか、Delete Put OPTIONSなど多様なリクエストをサポートしている.
第一歩、リソースクラスの作成
(リソースクラスはStruts 2のActionとして想像でき,注釈を付ける方法はそれぞれActionMethodである)
MovieResource.java
package com.zf.restlet.demo02.server;

import org.restlet.resource.Delete;
import org.restlet.resource.Get;
import org.restlet.resource.Post;
import org.restlet.resource.Put;
import org.restlet.resource.ServerResource;

/**
 *  3 Method  
 * @author zhoufeng
 *
 */
public class MovieResource extends ServerResource{
	
	
	@Get
	public String play(){
		return "      ...";
	}
	
	
	@Post
	public String pause(){
		return "    ...";
	}
	
	@Put
	public String upload(){
		return "      ...";
	}
	
	@Delete
	public String deleteMovie(){
		return "    ...";
	}
	
	
}

第2のステップでは、htmlクライアントアクセスを使用します(htmlのデフォルトではgetとpostアクセスのみがサポートされています.したがって、次の2つの例を示します).
demo02.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>demo02</title>
</head>
<body>
	
	
	<form action="http://localhost:8888/" method="get" target="_blank">
		<input type="submit" value="Get  " />   
	</form>
	
	<form action="http://localhost:8888/" method="post" target="_blank">
		<input type="submit" value="Post  " />   
	</form>    
	
</body>
</html>

このhtmlにアクセスするには、2つのボタンで異なるリクエストを送信し、異なる戻り値を送信できます.
ステップ3:Restletを使用してクライアント呼び出しを記述する
MovieClient.java
package com.zf.restlet.demo02.client;

import java.io.IOException;

import org.junit.Test;
import org.restlet.representation.Representation;
import org.restlet.resource.ClientResource;

public class MovieClient {

	@Test
	public void test01() throws IOException{
		ClientResource client = new ClientResource("http://localhost:8888/");
		Representation result =  client.get() ;		//  get  
		System.out.println(result.getText());  
	}
	
	@Test
	public void test02() throws IOException{
		ClientResource client = new ClientResource("http://localhost:8888/");  
		Representation result =  client.post(null) ;		//  post  
		System.out.println(result.getText());  
	}
	
	
	@Test
	public void test03() throws IOException{
		ClientResource client = new ClientResource("http://localhost:8888/");  
		Representation result =  client.put(null) ;		//  put  
		System.out.println(result.getText());  
	}
	
	
	@Test
	public void test04() throws IOException{
		ClientResource client = new ClientResource("http://localhost:8888/");  
		Representation result =  client.delete() ;		//  delete  
		System.out.println(result.getText());  
	}
	
	
}