一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - JAVA教程 - java通過HttpServletRequest獲取post請求中的body內容的方法

java通過HttpServletRequest獲取post請求中的body內容的方法

2021-04-05 12:29luffy5459 JAVA教程

本篇文章主要介紹了java通過HttpServletRequest獲取post請求中的body內容的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

java web應用中,我們如何獲取post請求body中的內容?以及需要注意的問題。

通常利用request獲取參數可以直接通過req.getParameter(name)的方式獲取url上面或者ajax data提交上來的參數。但是body是沒有名字的,無法通過參數名字這種方式獲取。這時候需要用到io流的方式來獲取body中的內容。

這里先貼出一段代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package com.lenovo.servlet;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
 
import com.alibaba.dubbo.common.utils.IOUtils;
import com.lenovo.service.BusinessService;
import com.lenovo.utils.WebContext;
public class BusinessServlet extends HttpServlet{
 public static final Logger log = Logger.getLogger(BusinessServlet.class);
 
 /**
 *
 */
 private static final long serialVersionUID = 1L;
 private static BusinessService service;
 static{
 service = (BusinessService) WebContext.getBean("businessService");
 }
 @Override
 protected void doGet(HttpServletRequest req, HttpServletResponse resp)
  throws ServletException, IOException {
 doPost(req, resp);
 }
 @Override
 protected void doPost(HttpServletRequest req, HttpServletResponse res)
  throws ServletException, IOException {
 
 BufferedReader reader = new BufferedReader(new InputStreamReader(req.getInputStream()));
 String body = IOUtils.read(reader);
 String name = req.getParameter("name");
 if(StringUtils.isNotBlank(body)){
  log.info("business receive somthing with body :"+body);
 }
 res.setCharacterEncoding("UTF-8");
 res.setContentType("application/json");
 res.setStatus(HttpServletResponse.SC_OK);
 res.getWriter().println(service.getName(name));
 }
 
}

在這段代碼doPost方法中,用到了IO流來獲取post提交的body,這樣我們就獲取了客戶端提交的參數。

需要注意的是:獲取body參數,需要在request.getParameter()方法之前調用(如果有需要取QueryString參數的話),因為一旦調用了getParameter()方法之后,再通過IO流的方式獲取body參數就失效了(親測返回"")。

另外,這里使用了dubbo-2.5.3.jar的IOUtils.read(reader)方法來讀取post body的內容。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://blog.csdn.net/feinifi/article/details/72990249

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精品一成人岛国片在线观看 | 国产综合久久久久 | 日本精品中文字幕在线播放 | 日本老熟老太hd | 娇小性色 | 色老女人 | 青久草视频 | 久久香蕉电影 | 亚洲精选在线观看 | 亚洲欧美成人综合 | 成人啪啪漫画羞羞漫画www网站 | 精品久久久久久国产 | 狠狠撸在线影院 | 性欧美黑人巨大喷潮xxoo | 亚洲 欧美 清纯 校园 另类 | 欧美国产日韩综合 | 免费网址在线观看入口推荐 | free哆拍拍免费永久视频 | 国产第一综合另类色区奇米 | 国产99精品免费视频看6 | 久久国产精品福利影集 | 性夜影院爽黄A爽免费动漫 性色欲情网站IWWW九文堂 | 国产成人福利美女观看视频 | 麻豆婷婷| 特黄特级毛片免费视 | 男人和女人上床 | 三上悠亚精品专区久久 | 精品国产一区二区三区国产馆 | 亚洲日本va午夜中文字幕 | 大团圆免费阅读全文 | 毛片免费观看的视频 | 香蕉tv国产在线永久播放 | 小舞丝袜调教喷水沦为肉奴 | 日韩在线a视频免费播放 | 蜜臀91| 被强上后我成瘾了小说 | 国产3p在线| 丝袜捆绑调教丨vk | 日韩精品特黄毛片免费看 | 日韩无砖2021特黄 | 免费在线公开视频 |