您的位置:首页 > 运维架构 > Tomcat

jersey POST (使用 Jersey 和 Apache Tomcat 构建 RESTful Web 服务)

2012-11-02 15:11 495 查看
关于jersey框架的
POST 方法,网上有不少帖子,大都附有代码,但是我没发现有讲得很透彻的,有的只知道个大概就把帖子发上来,有的代码里的方法根本就不行还有错误。也并不是说发这些帖子不好,我也是在这些帖子的基础上摸索出来的,觉得大家还是尽量把帖子写得正确一点,要不发一个错误的帖子会耽误很多人的时间!

我的方法是这样的:

01 import java.io.BufferedReader;
02 import java.io.ByteArrayInputStream;

03 import java.io.FileWriter;

04 import java.io.IOException;

05 import java.io.InputStream;

06 import java.io.InputStreamReader;

07 import java.io.OutputStreamWriter;

08 import java.net.URI;

09 import java.net.URISyntaxException;

10

11 import javax.servlet.http.HttpServletRequest;

12 import javax.ws.rs.Consumes;

13 import javax.ws.rs.FormParam;

14 import javax.ws.rs.GET;

15 import javax.ws.rs.POST;

16 import javax.ws.rs.PUT;

17 import javax.ws.rs.Path;

18 import javax.ws.rs.PathParam;

19 import javax.ws.rs.Produces;

20 import javax.ws.rs.core.Context;

21 import javax.ws.rs.core.MediaType;

22 import javax.ws.rs.core.Response;

23 import org.apache.hadoop.security.User;

24 import com.sun.jersey.api.client.Client;

25 import com.sun.jersey.api.client.WebResource;

26

27 @Path("/test")

28 public class SpectrumResource {

29     @POST

30     @Path("test_post")

31     @Consumes(MediaType.APPLICATION_FORM_URLENCODED)

32     public String getTest22222(InputStream is, @Context HttpServletRequest request) throwsException{

33         BufferedReader in = new BufferedReader(new InputStreamReader(is)) ;

34         StringBuffer buffer = new StringBuffer();

35         String line="";

36         while((line=in.readLine())!=null)

37         {

38            buffer.append(line);

39         }

40         return buffer.toString();

41     }

42

43 }


01 import java.io.ByteArrayInputStream;
02 import java.net.URI;

03 import java.net.URISyntaxException;

04 import javax.ws.rs.core.MediaType;

05 import com.sun.jersey.api.client.Client;

06 import com.sun.jersey.api.client.WebResource;

07

08 public class clientTest {

09     public static void main(String[] args) throws URISyntaxException{

10         Client client = Client.create();

11         URI u = new URI("http://localhost:8088/testExam/test/test_post");

12         System.out.println(u);

13         WebResource resource = client.resource(u);

14         resource = client.resource(u);

15         String buf = "inputstream content.aaaaabbbbaaaaaaaaa";

16         ByteArrayInputStream bais = new ByteArrayInputStream(buf.getBytes());

17         String result = resource.entity(bais).type(MediaType.APPLICATION_FORM_URLENCODED).post(String.class);

18         System.out.println(result);

19     }

20 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: