HttpClient 工具类
HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能 丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。 HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient。
HttpClient 通俗的讲就是模拟了浏览器的行为,如果我们需要在后端向某一地址提交数 据获取结果,就可以使用 HttpClient.
关于 HttpClient(原生)具体的使用不属于我们本章的学习内容,我们这里这里为了简 化 HttpClient 的使用,提供了工具类 HttpClient(对原生 HttpClient 进行了封装)
HttpClient 工具类使用的步骤

HttpClient client=new HttpClient(请求的 url 地址); 
client.setHttps(true);//是否是 https 协议 
client.setXmlParam(xmlParam);//发送的 xml 数据 
client.post();//执行 post 请求 
String result = client.getContent(); //获取结果

工程搭建与准备工作
(1)建立支付服务接口模块 pinyougou-pay-interface (jar)
(2)建立支付服务实现模块 pinyougou-pay-service (war) 依赖 pinyougou-pay-interface 和 pinyougou-common 、 spring dubbox 相关依赖 、微信 SDK (因为不需要连接数据库所 以不用引用 dao 工程)


  com.github.wxpay
  wxpay-sdk
  0.0.3
 

添加 tomcat 插件,运行端口为 9000
添加 spring 配置文件 ,参见其它服务工程
(3)在 pinyougou-common 工程中添加工具类 HttpClient.java ,并添加依赖


     org.apache.httpcomponents
     httpclient     
    

添加配置文件 weixinpay.properties

appid=wx8397f8696b538317
partner=1473426802
partnerkey=8A627A4578ACE384017C997F12D68B23
notifyurl=http://a31ef7db.ngrok.io/WeChatPay/WeChatPayNotify

appid: 微信公众账号或开放平台 APP 的唯一标识
partner:财付通平台的商户账号
partnerkey:财付通平台的商户密钥
notifyurl: 回调地址
(4)pinyougou-cart-web 依赖工程 pinyougou-pay-service
(5)将二维码插件 QRious 拷贝到 pinyougou-cart-web 的 plugins 目录中