调用:1、在页面的表单用doPost请求和用doGet请求一样,只是将请求方法改成doPost,在servlet的中都是用getParameter()获取参数

2、doGet可以用URL请求,doPost不可以

参数:在java中调用与doGet请求不同的是:参数格式必须是json格式,否则获取不到

参数容量:doPost没有显示,doGet有限制

java调用doPost代码

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

public class test{

public static void main(String[] args){

HttpURLConnection connection = null;
        InputStream is = null;
        OutputStream os = null;
        BufferedReader br = null;
        String result = null;
        String httpUrl = "http://localhost:8180/lis/ICPRequestAction.do";
        String param = "{\"key\":\"value\"}";
        try {
            URL url = new URL(httpUrl);
            // 通过远程url连接对象打开连接
            connection = (HttpURLConnection) url.openConnection();
            // 设置连接请求方式
            connection.setRequestMethod("POST");
            // 设置连接主机服务器超时时间:15000毫秒
            connection.setConnectTimeout(15000);
            // 设置读取主机服务器返回数据超时时间:60000毫秒
            connection.setReadTimeout(60000);

// 默认值为:false,当向远程服务器传送数据/写数据时,需要设置为true
            connection.setDoOutput(true);
            // 默认值为:true,当前向远程服务读取数据时,设置为true,该参数可有可无
            connection.setDoInput(true);
            // 设置传入参数的格式:请求参数应该是 name1=value1&name2=value2 的形式。
            connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
            // 设置鉴权信息:Authorization: Bearer da3efcbf-0845-4fe3-8aba-ee040be542c0
            connection.setRequestProperty("Authorization", "Bearer da3efcbf-0845-4fe3-8aba-ee040be542c0");
            // 通过连接对象获取一个输出流
            os = connection.getOutputStream();
            // 通过输出流对象将参数写出去/传输出去,它是通过字节数组写出的
            os.write(param.getBytes());
            // 通过连接对象获取一个输入流,向远程读取
            if (connection.getResponseCode() == 200) {

is = connection.getInputStream();
                // 对输入流对象进行包装:charset根据工作项目组的要求来设置
                br = new BufferedReader(new InputStreamReader(is, "UTF-8"));

StringBuffer sbf = new StringBuffer();
                String temp = null;
                // 循环遍历一行一行读取数据
                while ((temp = br.readLine()) != null) {
                    sbf.append(temp);
                    sbf.append("\r\n");
                }
                result = sbf.toString();
            }
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            // 关闭资源
            if (null != br) {
                try {
                    br.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (null != os) {
                try {
                    os.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (null != is) {
                try {
                    is.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            // 断开与远程地址url的连接
            connection.disconnect();
        }

}

}

doPost请求的用法相关推荐

  1. doGet或doPost请求

    一.HTTP实现doGet或doPost请求原理介绍 1.浏览器发送请求到HttpSevr类调用HttpServ的service(servletRequest, servletReponse)方法 2 ...

  2. java httpget 设置参数_java 模拟HTTP doPost请求 设置参数 | 学步园

    请求模拟 package org.zlex.commons.net; import java.io.DataInputStream; import java.io.DataOutputStream; ...

  3. okHttp拦截器放在doGet和doPost请求中

    public class OkHttp3Util { /**      * 懒汉 安全 加同步      * 私有的静态成员变量 只声明不创建      * 私有的构造方法      * 提供返回实例 ...

  4. IOS开发 REST请求 ASIHTTPRequest用法

    ASIHTTPRequest类库简介和使用说明 官方网站: http://allseeing-i.com/ASIHTTPRequest/ .可以从上面下载到最新源码,以及获取到相关的资料. 使用iOS ...

  5. 执行Http请求时doGet和doPost的区别

    应用方式\提交方式 doGet doPost 请求方式 通过URL附带参数发送请求,从服务器上获取数据.在url中可以看到传递的参数. 通过url发送请求,从服务器上提交数据,但不通过url传递数据, ...

  6. Linux命令CURL用法

    Curl是一个命令行方式下传输数据的开源传输工具,支持多种协议包括:FTP,HTTP,HTTPS,IMAP,POP3,TELNET等.同样支持HTTP POST方法,PUT方法,FTP上传,cooki ...

  7. 发起一个ajax请求,发送ajax请求

    发送ajax请求 vue本身不支持发送ajax请求,需要使用vue-resourc axios等插件实现,建议使用axios axios是一个基于promise的http请求客户端,用来发送请求 基本 ...

  8. ajax jq 图片上传请求头_全面分析前端的网络请求方式:Ajax ,jQuery ,axios,fetch

    链接:https://juejin.im/post/5c9ac607f265da6103588b31 一.前端进行网络请求的关注点 大多数情况下,在前端发起一个网络请求我们只需关注下面几点: 传入基本 ...

  9. SpringMVC_3.请求映射与静态资源处理

    1.请求映射 介绍:         请求到 web.xml ,经过 SpringMVC的分发器对象 [ DispatcherServlet ]  ,将请求转到 SpringMVC 框架中,通过 @R ...

最新文章

  1. 回溯法:批量作业调度
  2. Java入门算法(树篇)
  3. 比较和逻辑运算符 011
  4. vm虚拟机安装包_一次Miniconda虚拟机安装的神奇踩坑记录
  5. python爬虫记录时间_Python新手写爬虫全过程记录分析
  6. ai作文批改_好未来:AI智能批改中英文作文为老师“减负”
  7. c#机器人聊天软件_3.C#面向对象基础聊天机器人
  8. SAP 各模块常用T-Code
  9. 基于KDJ指标的Dual Thrust策略
  10. 人人都能看懂——c大调d大调f…
  11. Android 图片压缩也即生成缩略图方法
  12. 如何连接新浪sae共享数据库
  13. Nginx常用的模块
  14. 顺口溜:国足欢迎你(贬)
  15. skinsdog 狗网官网 可直接取回CSGO皮肤开箱网站
  16. C#视频处理,调用强大的ffmpeg
  17. 模拟算法考试训练题和答案1
  18. 网易免费企业邮箱 使用感受
  19. OneNote for Windows 10 笔记的导出
  20. 夏普比率和最大回撤计算方法

热门文章

  1. Codeforces Round #710 (Div. 3)个人题解
  2. docker registry http api v2(原创请注明出处)
  3. matlab粒子群加约束条件_多目标粒子群(PSO)与MATLAB程序视频教程及动态优化问题约束条件...
  4. 用WinForm实现的仿微信聊天系统
  5. 如何获取IMEI号和MEID号
  6. GTC 2017现场直击:以人工智能的名义搞一场黑科技的盛会!
  7. 网络数据包转发过程详解
  8. 冲击python二级——布尔操作符,比较操作符,控制流的基础
  9. springboot查看请求ip、ip归属地、设备信息、本地MAC地址、操作系统信息
  10. 分享一些优秀的思维导图作品