HttpClient4模拟表单提交[通俗易懂]

HttpClient4模拟表单提交[通俗易懂]这里用httpclient4.3模拟一个表单普通文本提交的方法建一个servlet接受表单数据,只传递2个参数,name和password//servlet的访问地址是:http://localhost:80/testjs/servlet/FormServletpublicclassFormServletextendsHttpServlet{publicvoidd

大家好,又见面了,我是你们的朋友全栈君。

这里用httpclient4.3模拟一个表单普通文本提交的方法

建一个servlet接受表单数据,只传递2个参数,name和password

//servlet的访问地址是:http://localhost:80/testjs/servlet/FormServlet

public class FormServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

request.setCharacterEncoding(“utf-8”);
response.setCharacterEncoding(“utf-8”);

                //获取传递来的参数
String name = request.getParameter(“name”);
String password = request.getParameter(“password”);

System.out.println(“你输入的姓名是:”+name);
System.out.println(“你输入的密码是:”+password);
//设置响应内容
response.getWriter().write(name+”, 欢迎访问”);
}

}

用到的jar包有:commons-codec-1.6.jar,commons-logging-1.1.3.jar,httpclient-4.3.1.jar,httpcore-4.3.jar,httpmime-4.3.1.jar

package com.test.httpClient.myTest;

import java.io.IOException;

import java.nio.charset.Charset;

import java.util.ArrayList;

import java.util.List;

import org.apache.http.Consts;

import org.apache.http.HttpEntity;

import org.apache.http.NameValuePair;

import org.apache.http.client.entity.UrlEncodedFormEntity;

import org.apache.http.client.methods.CloseableHttpResponse;

import org.apache.http.client.methods.HttpPost;

import org.apache.http.impl.client.CloseableHttpClient;

import org.apache.http.impl.client.HttpClients;

import org.apache.http.message.BasicNameValuePair;

import org.apache.http.util.EntityUtils;

import org.junit.Test;

public class TestHttpClient4 {


@Test


public void test1() throws IOException{


CloseableHttpClient httpClient = HttpClients.createDefault();


try{


//post请求的url地址


HttpPost httpPost = new HttpPost(“http://localhost:80/testjs/servlet/FormServlet”);


List <NameValuePair> nvps = new ArrayList <NameValuePair>();


//传递2个参数  name和password


nvps.add(new BasicNameValuePair(“name”,”王五”));


nvps.add(new BasicNameValuePair(“password”,”12345″));


//转码  封装成请求实体


HttpEntity reqEntity = new UrlEncodedFormEntity(nvps,Consts.UTF_8);





httpPost.setEntity(reqEntity);





System.out.println(“请求url地址”+httpPost.getURI());


//提交表单请求   response是表单的响应


CloseableHttpResponse response = httpClient.execute(httpPost);

            try {

                HttpEntity respEntity = response.getEntity();

                //响应状态

                System.out.println(“Login form get: ” + response.getStatusLine());

                //EntityUtils.consume(entity);

                //获取响应内容

                System.out.println(EntityUtils.toString(respEntity,Charset.forName(“utf-8”)));

                //销毁

                EntityUtils.consume(respEntity);

            } finally {

                response.close();

            }


}finally{


httpClient.close();


}





}

}

运行结果 

test端

请求url地址http://localhost:80/testjs/servlet/FormServlet
Login form get: HTTP/1.1 200 OK
王五, 欢迎访问

tomcat服务器端

你输入的姓名是:王五
你输入的密码是:12345

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163293.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm2021.5.2激活码(最新序列号破解)

    pycharm2021.5.2激活码(最新序列号破解),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    48
  • python求平均值_python写平均值

    python求平均值_python写平均值广告关闭腾讯云 11 11 云上盛惠 精选热门产品助力上云 云服务器首年 88 元起 买的越多返的越多 最高返 5000 元 如何计算 python 中的平均顶部或底部 n 值 例如 column c2 计算过去 4 天中前 2 名的平均值 c0c1c212na22 5676 5756 5846 python 环境 python

    2025年10月30日
    5
  • fastjson List String JSONArray 转换

    fastjson List String JSONArray 转换imgCode//ListList<Course>courseTable=newLinkedList<>();courseTable.add(newCourse(“1″,”Java”,30,3.0));courseTable.add(newCourse(“2″,”JavaScript”,25,2.5));System.out.pri…

    2022年6月20日
    27
  • JDK安装与配置详细图文教程

    JDK安装与配置详细图文教程JDK安装与配置详细图文教程   目的:本人健忘,以后难免会重装系统啥的,软件卸了装是常有的事,特此写此详细教程,一是方便自己以后重装的时候可以看看;二是如果有某位初学者有幸光临,也可以给一点参照。下面我会从JDK的下载、安装、环境变量的配置和其中的一些问题进行详细说明,Letgo!一、下载JDK是个免费的东东,所以大家不要去百度啥激活成功教程版了,直接去官网下载最新版本吧,比较安全,官网

    2022年7月8日
    21
  • 自定义浏览器滚动条样式

    自定义浏览器滚动条样式感谢刘洋的分享 https www lyblog net detail 314 html 自定义 IE 浏览器滚动条样式滚动条样式支持情况支持浏览器版本可否继承描述 scrollbar 3dlight colorIE 特有属性 IE5 5 y 设置滚动框的和滚动条箭头左上边缘的颜色 scrollbar highlight c

    2025年12月14日
    5
  • 学分查询与统计软件使用说明

    学分查询与统计软件使用说明

    2021年10月7日
    71

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号