第一步,导入jar包。见附件
第二步,确定是使用post方式还是get方式。建议使用POST方法,使用GET方式,需要自己通过2次编码一次解码来处理中文。如果是post方式。如下。
public static void main(String[] args) throws Exception { //Url调数据的URL String url= "http://127.0.0.1:8080/Xu_Huan/httpclienttest.do"; //使用post方式 PostMethod postMethod = new PostMethod(url); //设置此可以解决中文问题。但是要切记,本文件的字符编码要和服务器类的编码一样,不然要做特殊处理。 postMethod.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gbk"); //迭代Map传参数 StringBuffer connString = new StringBuffer(); Map map=new HashMap(); map.put("x1", "许欢"); map.put("x2", "xu"); Iterator it=map.entrySet().iterator(); Entry entry = null; int i=0; while(it.hasNext()){ entry = (Entry) it.next(); //参数加入postMethod postMethod.addParameter((String)entry.getKey(), (String)entry.getValue()); } //定义HttpClient传输,调用远程接口 HttpClient httpClient = new HttpClient(); //返回码 int code = httpClient.executeMethod(postMethod); if (code == 404) { throw new Exception("404"); } else if (code == 500) { throw new Exception("500"); } else if (code == 200) { //成功则返回200,执行如下方法。 //使用流的方式来读取返回的值 InputStream resStream = postMethod.getResponseBodyAsStream(); BufferedReader br = new BufferedReader(new InputStreamReader(resStream)); StringBuffer resBuffer = new StringBuffer(); String resTemp = ""; while ((resTemp = br.readLine()) != null) { resBuffer.append(resTemp); } String response = resBuffer.toString(); // System.out.println(response); //如下注释的代码,也可以直接读取返回的值,会报警告,假如返回的内容很多的话,会丢失。建议用上面的。 // System.out.println( postMethod.getResponseBodyAsString()); } }
第三步,写服务端代码。
package com.xuhuan.util; import java.io.IOException; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Xutest extends HttpServlet { public void init(ServletConfig config) throws ServletException { super.init(config); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { exceute(request, response); } private void exceute(HttpServletRequest request, HttpServletResponse response) { try { request.setCharacterEncoding("UTF-8"); } catch (Exception e) { e.printStackTrace(); } try { String mobile1= request.getParameter("x1"); String mobile2 = request.getParameter("x2"); System.out.println(mobile1); System.out.println(mobile2); String returnValue = "我来看一看中文好用"; response.setContentType("text/html;charset=UTF-8"); response.getOutputStream().write(returnValue.getBytes("utf-8"), 0, returnValue.getBytes("utf-8").length); response.getOutputStream().flush(); response.getOutputStream().close(); } catch (Exception e) { e.printStackTrace(); } return ; } }
4配置WEB.xml
<servlet> <servlet-name>ElectricExpoOrder</servlet-name> <servlet-class>com.xwtech.util.ElectricExpoOrder</servlet-class> </servlet> <servlet-mapping> <servlet-name>ElectricExpoOrder</servlet-name> <url-pattern>/eOrder</url-pattern> </servlet-mapping>
相关推荐
在这个例子中,我们使用HttpClient来调用远程接口,从电信公司的网站获取可用手机号码的数据,并将其存储到本地文件系统。以下是对这个过程的详细解释: 1. **HttpClient的引入与配置**: 首先,我们需要在项目中...
在这个场景中,我们使用HttpClient来调用远程接口,从电信公司的网站获取可用的新手机号码信息,并将这些数据存储到本地文件中。以下是对这个过程的详细解释: 1. **HttpClient的基本使用**: HttpClient提供了一...
### 使用HttpClient调用WebService接口详解 #### 一、概述 在现代软件开发中,Web服务(尤其是WebService)作为实现系统间交互的一种重要手段被广泛采用。WebService提供了通过HTTP协议进行远程过程调用的能力,...
### WebApi系列-通过HttpClient来调用WebApi接口 #### 一、概述 在现代Web开发中,Web API已经成为一种非常流行的模式,用于提供服务端与客户端之间的数据交互。随着.NET Framework以及.NET Core的发展,微软提供...
在远程接口调用中,HttpClient允许我们构建自定义的请求并获取响应,非常适用于API测试和集成。 首先,我们需要添加HttpClient依赖到我们的项目中。如果是Maven项目,可以在pom.xml文件中添加以下依赖: ```xml ...
在WPF应用程序中,异步调用Web API是一项重要的技术,因为它可以避免UI线程阻塞,从而提高用户...通过利用HttpClient的异步方法,结合WPF的数据绑定机制,可以在保持界面流畅的同时,实现对远程数据的异步读取和显示。
在"Spring mvc REST风格对外接口,HttpClient调用"这个场景中,我们通常会用到一系列的jar包,其中包括`commons-beanutils-1.9.2.jar`。 `commons-beanutils`是Apache Commons项目的一个组件,主要提供对JavaBeans...
它是由Apache软件基金会开发的,被广泛应用于各种Web服务的客户端实现。本篇文章将深入探讨如何使用HttpClient方式调用URL,...在项目"thirdTest"中,你可以尝试应用这些概念和代码示例来实现HttpClient调用URL的功能。
2. **创建服务调用接口**:在Controller层,我们定义一个接口来封装HttpClient的调用。这个接口可以使用`@Autowired`注解注入HttpClient,然后创建`HttpGet`或`HttpPost`对象,设置URL、Header等信息,最后通过...
以下是一个简单的HttpClient调用HTTP接口的示例: ```java CloseableHttpClient httpClient = HttpClients.createDefault(); HttpGet request = new HttpGet("http://example.com/api"); CloseableHttpResponse ...
- 动态调用WebService接口不需要事先生成客户端的代理类,而是通过程序代码在运行时动态地调用远程服务。 - 可以创建一个帮助类(例如WebServiceHelper),在该类中编写方法来实现动态调用逻辑。 - 在动态调用中...
在Java编程中,远程接口调用是分布式系统中常见的通信方式,它允许不同的服务之间进行数据交换和功能调用。本篇文章将详细讲解如何使用Java实现GET和POST方法的远程接口调用,以及如何处理带有参数的情况。 首先,...
PB调用HTTP API接口是PowerBuilder(PB)应用程序与远程服务交互的一种常见方式,这使得PB应用能够利用Web服务或RESTful API获取和传递数据。在这个过程中,PB不仅需要发送HTTP请求,还需要处理响应,尤其是当响应...
本文将深入探讨如何在“致远OA”(ZhiYuan Office Automation)系统中通过Java开发REST远程接口,实现远程发起OA表单的功能。我们将详细介绍这个过程,并提供相关的代码示例、所需jar包以及致远API的引用地址。 ...
在Java中,文件上传通常涉及到调用远程服务器提供的API接口,这些接口接收文件作为输入并执行相应的处理。 1. **使用HTTP或HTTPS上传文件**: 文件上传通常通过POST请求进行,HTTP或HTTPS是互联网上常用的数据传输...
本篇文章将深入讲解如何使用`HttpURLConnection`类来模拟浏览器请求,并通过实例展示其在接口调用中的应用。 首先,`HttpURLConnection`是`java.net.URLConnection`的一个子类,用于处理HTTP协议。在使用`...
在实际项目中,HttpClient 库常用于 IoT(物联网)场景,如远程控制、数据采集或设备状态报告等。结合 Arduino 的传感器和其他硬件,你可以构建各种智能系统,如智能家居、环境监测等。理解并熟练使用 HttpClient 库...
在C#中,我们通常会使用HttpClient类或者WebClient类来发起HTTP请求,以达到调用远程接口的目的。 要实现这个功能,我们需要以下步骤: 1. **设置请求头**:创建一个HttpClient对象,然后设置必要的请求头,如...
WebService接口调用工具类是Java开发中常见的一种技术,用于与远程服务进行通信,尤其在集成不同系统或服务时非常关键。在这个场景中,"webservice接口调用工具类依赖jar包"指的是为了实现对WebService接口的调用,...
WebApiClientCore 的netcore版本,集高级高可扩展性于一体的声明式http客户端库,特别适用于微服务的restful资源请求,也适用于各种畸形的http接口请求。努吉特包名描述努吉特WebApiClientCore基础包 ...