HttpPost发送字符串到服务器,服务器接收代码并显示怎么写Java代码?

客户端代码大致如下:Stringname,job;StringURL=http://10.0.2.2:8080/testHttpPostpost=newHttpPost(... 客户端代码大致如下:
String name,job;
String URL=http://10.0.2.2:8080/test
HttpPost post = new HttpPost(URL);
MultipartEntity mpEntity = new MultipartEntity();
mpEntity.addPart(“name”,new StringBody(name.toString));
mpEntity.addPart(“job”,new StringBody(job.toString));
post.setEntity(mpEntity);
HttpResponse response = new DefaultHttpClient().execute(post);
if (response.getStatusLine().getStatusCode() == 200)
{
String strResult = EntityUtils.toString(response.getEntity());
}

服务器端用Java怎么写代码怎么配置?需要用到web.xml吗,需要的话 如何配置?
展开
 我来答
eddie_zou
2014-02-22 · 超过18用户采纳过TA的回答
知道答主
回答量:45
采纳率:100%
帮助的人:28万
展开全部

服务器端接收客户端的请求的话,需要在服务器端的java文件实现HttpServlet这个接口,并且在web.xml里配置一个客户端的请求拦截。

web.xml里的代码里添加

<servlet>
   <servlet-name>testServlet</servlet-name><!--这个名字可以自己定-->
   <servlet-class>com.sun.testServlet</servlet-class><!--这里是你需要接收客户端请求的那个类以及包名,也就是下面拦截到的url会转发到的那个类-->
  </servlet>
  <servlet-mapping>
   <servlet-name>testServlet</servlet-name><!--和上面的name需要一样-->
   <url-pattern>/*</url-pattern><!--什么类型的客户端请求会被拦截,/* 就是全拦截了-->
</servlet-mapping>

然后再服务器端的类文件,要实现 HttpServlet这个接口。并把doGet()方法和doPost()方法重写。

这两种方法分别对应的是客户端的get请求和post请求的处理,你的是post请求的话,就在doPost()方法内,写你的业务。

然后再用下面两句话,设置你要返回客户端的数据。


//这是设置你要返回去的数据。value才是你的数据,key是标签。

request.setAttribute("key", "value");  


//这是设置你要返回去test.jsp这张页面。

request.getRequestDispatcher("test.jsp").forward(request, response);


不知道你是不是这个意思,你可以再去看看相关servlet方面的知识,


关于客户端和服务器端大概也就是有个servlet作为请求的拦截


然后经过相关判断后,选择性的传到服务器的相应类里面。


再经过类里面的业务,把得到需要的数据回传到指定的页面上。

运否钟1144
推荐于2017-11-26 · TA获得超过112个赞
知道答主
回答量:120
采纳率:0%
帮助的人:70.6万
展开全部
问下你是在想上传文件么?
我最近也写过类似的,不过没有写像你说的服务器接收的这部分,你是想测试吗?
如果是仅仅是字符串,没必要搞这么复杂,直接用StringEntity或者HttpEntity就OK了。
MultipartEntity一般是发送Multipart/form-data类型数据才用的,因为这个接收处理时比StringEntity要麻烦,具体的看下httpclient4.3、httpcore4.3、httpmime相关文档,网上也有相关内容,我存在公司电脑上。
帮你找到了相关文档:
http://blog.csdn.net/jdsjlzx/article/details/8825696
追问
你下面的回复正是我的意思:对于用MultipartEntity封装的请求包在服务器端如何解析拿到请求中的数据,现在只上传这些字符串,想在本地模拟服务器测试。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
woaihouzhuang
2014-02-23 · TA获得超过259个赞
知道小有建树答主
回答量:245
采纳率:100%
帮助的人:225万
展开全部

后台获取参数值:

@Override

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    System.out.println("doPost method is called.");
    String id = request.getParameter("id");
    String name = request.getParameter("name");
    String age = request.getParameter("age");
    System.out.println("id:" + id + ", name:" + name + ", age:" + age);
    response.getWriter().write("POST_SUCCESS");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式