HttpClient简介
HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、 功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。
HttpClient也支持Https协议。
HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java net 包中已经提 供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能 还不够丰富和灵活。
HttpClient发送Get请求不带参数
创建Maven项目,导入HttpClient的坐标依赖。
1、创建HttpClient对象
2、创建请求方法的实例,并指定请求URL。
3、通过HttpClient发送请求,并返回响应结果。
4、处理响应结果,获取响应的状态码,通过响应获取获取此响应的状态行,通过该状态行调用getstatusCode方法获取状态码。
5、获取次响应的消息实体。
6、使用工具类获取响应信息,并将该响应信息的编码格式设置为utf-8。
7、关闭连接。
运行结果
get请求带参数
/**
post请求不带参数
测试post
post请求带参数
public
HttpClient发送Post请求带参数返回Json
/**
案例
1、采用 SOA 架构项目
2、使用 HttpClient 调用服务
3、完成用户的添加与查询
创建parent为pom类型工程,pom.xml文件中添加坐标,用于统一管理资源。
创建commons为jar类型工程
该项目存放了抽取出来的工具类以及实体类。
修改pom文件,从parent中找到以下坐标依赖:
jackson-databind
httpclient
创建service工程,该项目类型为war类型,并继承parent工程。
1、添加WEB-INF文件夹以及web.xml文件,并配置web.xml文件。
2、修改pom文件。
因为是服务,所以这里大多是于操作数据有关的,在添加坐标的时候可以找操作数据的相关坐标。
注意:
在这里添加了commons的坐标,而该项目中已经将httpClient、jackson-databind的坐标添加了,当添加了commons坐标后,会将整个项目级联注入到serivce项目中的,所以这里就不用再重复添加了。
添加的依赖有:
<!-- commons项目 -->
commons
<!-- 测试 -->
junit
<!-- 日志处理 -->
slf4j-log4j12
<!-- Mybatis -->
mybatis
mybatis-spring
<!-- mysql -->
mysql-connector-java
druid
<!-- Spring -->
spring-context
spring-beans
spring-webmvc
spring-jdbc
spring-aspects
<!-- JSP相关 -->
jstl
servlet-api
添加的插件有:
资源拷贝插件
tomcat插件
3、添加spring、springmvc、mybatis配置文件,以及抽取出来的数据库连接参数。
4、创建Mapper,操作数据库。
5、创建service层,处理业务逻辑,调用mapper。
6、创建Controller,获取请求
创建client工程,该项目类型为war类型,并继承parent工程。
做为Client项目,操作的是视图,不涉及到数据。
1、添加WEB-INF文件夹以及web.xml文件,并配置web.xml文件。
2、修改pom文件。
添加依赖:
commons项目
slf4j-log4j12
spring-context
spring-beans
spring-webmvc
servlet-api
jstl
jsp-api
添加插件:
tomcat
3、添加spring、springmvc配置文件。
4、添加jsp页面。
5、创建业务层,编写代码,向服务发送请求。
6、编写Controller,获取请求