servlet只支持GET与POST两种请求。
但是restlet除了支持GET与POST请求外还支持Delete Put OPTIONS 等多种请求 。
第一步,编写资源类
(可以将资源类想象成Struts2的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 "删除电影...";
- }
- }
第二步,使用html客户端访问(html默认只支持get与post访问。所以下面演示着两种)
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通过两个按钮可以发送不同的请求,并会有不同的返回值
第三步:使用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());
- }
- }