最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java通過HttpServletRequest獲取post請求中的body內(nèi)容的方法

 更新時間:2018年02月11日 10:56:27   作者:luffy5459  
本篇文章主要介紹了java通過HttpServletRequest獲取post請求中的body內(nèi)容的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

在java web應用中,我們?nèi)绾潍@取post請求body中的內(nèi)容?以及需要注意的問題。

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

這里先貼出一段代碼:

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,這樣我們就獲取了客戶端提交的參數(shù)。

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

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

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 淺談一下Spring中的createBean

    淺談一下Spring中的createBean

    createBean是創(chuàng)建Bean的主要方法, 該方法位于:AbstractBeanFactory的doGetBean方法中的createBean調(diào)用。本文就來淺談一下Spring中的createBean?,感興趣的可以了解一下
    2022-07-07
  • win10 64位 jdk1.8的方法教程詳解

    win10 64位 jdk1.8的方法教程詳解

    這篇文章主要介紹了win10 64位 jdk1.8的方法教程詳解,本文給大家介紹的非常詳細,對大家的工作或學習具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • java?fastjson傳輸long數(shù)據(jù)卻接收到了int的問題

    java?fastjson傳輸long數(shù)據(jù)卻接收到了int的問題

    這篇文章主要介紹了java?fastjson傳輸long數(shù)據(jù)卻接收到了int的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Idea報錯: A JNI error has occurred的問題

    Idea報錯: A JNI error has occurred的問題

    這篇文章主要介紹了Idea報錯: A JNI error has occurred的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Spring Cloud Stream 高級特性使用詳解

    Spring Cloud Stream 高級特性使用詳解

    這篇文章主要為大家介紹了Spring Cloud Stream 高級特性使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • Java使用同步方法解決銀行取錢的安全問題案例分析

    Java使用同步方法解決銀行取錢的安全問題案例分析

    這篇文章主要介紹了Java使用同步方法解決銀行取錢的安全問題,結合具體案例形式分析了java同步方法實現(xiàn)多線程安全操作銀行取錢問題,需要的朋友可以參考下
    2019-09-09
  • sublime編譯器怎么運行java程序

    sublime編譯器怎么運行java程序

    Sublime是一款強大的代碼編輯器,它提供了豐富的功能和插件,可以幫助開發(fā)者提高代碼的編寫效率和質(zhì)量,通過安裝相關插件和進行簡單配置,我們可以輕松地在Sublime中編譯和運行Java代碼,下面我們將詳細介紹如何配置Sublime,使其能夠高效地運行Java代碼
    2024-06-06
  • Spring 開發(fā)之組件賦值的實現(xiàn)方法

    Spring 開發(fā)之組件賦值的實現(xiàn)方法

    這篇文章主要介紹了Spring 開發(fā)之組件賦值的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • Spring中如何操作JDBC的實現(xiàn)

    Spring中如何操作JDBC的實現(xiàn)

    這篇文章主要介紹了Spring中如何操作JDBC的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • Spring?@Cacheable讀取配置常量方式

    Spring?@Cacheable讀取配置常量方式

    這篇文章主要介紹了Spring?@Cacheable讀取配置常量方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12

最新評論

德格县| 乌恰县| 峨眉山市| 依兰县| 莒南县| 河北区| 重庆市| 固始县| 沙坪坝区| 永泰县| 贺兰县| 新化县| 大石桥市| 汝阳县| 大英县| 苏尼特右旗| 兴山县| 大英县| 米林县| 孝昌县| 丽水市| 龙山县| 惠东县| 永川市| 昌乐县| 虹口区| 绍兴市| 溆浦县| 肥城市| 金华市| 密山市| 乐东| 葵青区| 方正县| 若羌县| 杭锦后旗| 莆田市| 同德县| 景德镇市| 大石桥市| 和林格尔县|