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

本文深入探讨了Jersey框架中POST方法的使用,并提供了正确的代码实现方式,帮助开发者避免常见错误,提高代码质量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    关于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 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值