有大神能把Java写好的如何把程序放到桌面微信端吗

我要做一个微信端。有大神告诉一下流程吗?【java吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:697,531贴子:
我要做一个微信端。有大神告诉一下流程吗?收藏
做一个这样的
这个不关编程的事,直接申请公众号就可以了
啊啊啊,来个大神啊啊啊啊啊
注册微信公众号, 如果只是做几个菜单,不用开发的, 后公众平台的后面配置下就可以了。
登录百度帐号&>&第三方APP微信支付Java服务端构建完整步骤
第三方APP微信支付Java服务端构建完整步骤
上传大小:173KB
第三方APP微信支付Java服务端构建完整步骤
综合评分:2(7位用户评分)
下载个数:
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有6条
谢谢你的分享,帮助了我的开发学习。
不用下了,就是复制其他地方的过来而已,还很不全
为何都是乱码
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
第三方APP微信支付Java服务端构建完整步骤
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
(仅够下载10个资源)
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
第三方APP微信支付Java服务端构建完整步骤登录后,进入到公众平台后台管理页面。
选择 公众号基本设置-》基本配置&,点击&修改配置&按钮,填写服务器地址(URL)、Token和EncodingAESKey。
微信公众号配置界面:
&以上配置需要认证后才会得到相应的权限。如果开发阶段,我们可以申请开发者测试账号。
为什么要申请测试账号?
主要是因为测试账号比我们没有认证的微信账号权限大一点。足够测试我们的接口了。
&以下是微信测试号的一些配置选项:
服务器配置:
  URL:是开发者用来接收微信消息和事件 的接口URL。(必须以http://开头,目前支持80端口)
  Token:可由开发者可以任意填写,用作生成签名(该Token会和接口URL中包含的Token进行比对,从而验证安全性)。注意必须为英文或数字,长度为3-32字符。
  EncodingAESKey:由开发者手动填写或随机生成,将用作消息体加解密密钥。(消息加密密钥由43位字符组成,可随机修改,字符范围为A-Z,a-z,0-9。)
同时,开发者可选择消息加解密方式:明文模式、兼容模式和安全模式。
  明文模式:不使用消息体加解密功能,安全系数较低
&&&&& 兼容模式:明文、密文将共存,方便开发者调试和维护
&&&&& 安全模式下:消息包为纯密文,需要开发者加密和解密,安全系数高
做个宣传:这个是我的微信公众号,欢迎大家关注!!!
看完上面的,还是不知道该填些什么吧,不用急,先空着,后面再填。
开发者提交信息后,微信服务器将发送GET请求到填写的服务器地址URL上,GET请求携带四个参数:
微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。
随机字符串
开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。
加密/校验流程如下:
1. 将token、timestamp、nonce三个参数进行字典序排序
2. 将三个参数字符串拼接成一个字符串进行sha1加密
3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
说明一下,我使用的是eclipse ,java语言, tomcat 7.0 环境。
这些配置可以参照我的其他博客文章进行配置,这里就不多说了。
以上介绍也可以参考 &。
第二部分:微信服务器对接的实现代码部分
&那么我们现在开始撸码吧!!!
方式一:通过本地进行调试。
详细可以参考我的文章:
方式二: 代码需要放到第三方服务器上面进行调试。
一、 创建java项目,并实现校验。
下面我们写程序进行校验:
(1)新建一个名字叫 souvc 的 web项目。
(2) 选择web.xml文件的生成。
(3)新建一个servlet类,来接收微信服务器传来信息。
package com.souvc.weixin.
import java.io.IOE
import java.io.PrintW
import javax.servlet.ServletE
import javax.servlet.http.HttpS
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServletR
import com.souvc.weixin.util.SignU
* 类名: CoreServlet &/br&
* 描述: 来接收微信服务器传来信息 &/br&
* 开发人员: souvc&/br&
* 创建时间: &/br&
* 发布版本:V1.0 &/br&
public class CoreServlet extends HttpServlet {
private static final long serialVersionUID = 6899691L;
* 确认请求来自微信服务器
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 微信加密签名
String signature = request.getParameter("signature");
String timestamp = request.getParameter("timestamp");
String nonce = request.getParameter("nonce");
// 随机字符串
String echostr = request.getParameter("echostr");
PrintWriter out = response.getWriter();
// 通过检验signature对请求进行校验,若校验成功则原样返回echostr,表示接入成功,否则接入失败
if (SignUtil.checkSignature(signature, timestamp, nonce)) {
out.print(echostr);
out.close();
out = null;
* 处理微信服务器发来的消息
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO 消息的接收、处理、响应
(4) 加密校验程序的工具类。这个校验的方法,可以通过分析官方文档的demo,然后通过java语言来写出。
package com.souvc.weixin.
import java.security.MessageD
import java.security.NoSuchAlgorithmE
import java.util.A
* 类名: SignUtil &/br&
* 描述: 检验signature 工具类 &/br&
* 开发人员: souvc &/br&
* 创建时间:
* 发布版本:V1.0
public class SignUtil {
// 与接口配置信息中的Token要一致
private static String token = "souvcweixin";
* 方法名:checkSignature&/br&
* 详述:验证签名&/br&
* 开发人员:souvc&/br&
* 创建时间:
* @param signature
* @param timestamp
* @param nonce
public static boolean checkSignature(String signature, String timestamp,String nonce) {
// 1.将token、timestamp、nonce三个参数进行字典序排序
String[] arr = new String[] { token, timestamp, nonce };
Arrays.sort(arr);
// 2. 将三个参数字符串拼接成一个字符串进行sha1加密
StringBuilder content = new StringBuilder();
for (int i = 0; i & arr. i++) {
content.append(arr[i]);
MessageDigest md = null;
String tmpStr = null;
md = MessageDigest.getInstance("SHA-1");
// 将三个参数字符串拼接成一个字符串进行sha1加密
byte[] digest = md.digest(content.toString().getBytes());
tmpStr = byteToStr(digest);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
content = null;
// 3.将sha1加密后的字符串可与signature对比,标识该请求来源于微信
return tmpStr != null ? tmpStr.equals(signature.toUpperCase()) : false;
* 方法名:byteToStr&/br&
* 详述:将字节数组转换为十六进制字符串&/br&
* 开发人员:souvc &/br&
* 创建时间:
* @param byteArray
private static String byteToStr(byte[] byteArray) {
String strDigest = "";
for (int i = 0; i & byteArray. i++) {
strDigest += byteToHexStr(byteArray[i]);
return strD
* 方法名:byteToHexStr&/br&
* 详述:将字节转换为十六进制字符串&/br&
* 开发人员:souvc&/br&
* 创建时间:
* @param mByte
private static String byteToHexStr(byte mByte) {
char[] Digit = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A','B', 'C', 'D', 'E', 'F' };
char[] tempArr = new char[2];
tempArr[0] = Digit[(mByte &&& 4) & 0X0F];
tempArr[1] = Digit[mByte & 0X0F];
String s = new String(tempArr);
(5)配置一下访问路径的 web.xml。
&?xml version="1.0" encoding="UTF-8"?&
&web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"&
&display-name&souvc&/display-name&
&welcome-file-list&
&welcome-file&index.html&/welcome-file&
&welcome-file&index.htm&/welcome-file&
&welcome-file&index.jsp&/welcome-file&
&welcome-file&default.html&/welcome-file&
&welcome-file&default.htm&/welcome-file&
&welcome-file&default.jsp&/welcome-file&
&/welcome-file-list&
&servlet-name&coreServlet&/servlet-name&
&servlet-class&
com.souvc.weixin.servlet.CoreServlet
&/servlet-class&
&/servlet&
&!-- url-pattern中配置的/coreServlet用于指定该Servlet的访问路径 --&
&servlet-mapping&
&servlet-name&coreServlet&/servlet-name&
&url-pattern&/coreServlet&/url-pattern&
&/servlet-mapping&
&/web-app&
在webroot下面, 添加一个主页index.jsp,代码如下
&%@ page language="java" contentType="text/ charset=utf-8"
pageEncoding="utf-8"%&
&!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&
&meta http-equiv="Content-Type" content="text/ charset=utf-8"&
&title&欢迎访问我的网站 www.souvc.com &/title&
欢迎访问我的网站 www.souvc.com
校验实现代码,基本完成。
二 、把实现部署到服务器上。
方式一:部署到BAE上面。
(1)把程序从BAE上面导出来。
复制svn地址
在本地新建一个weixin的文件夹,然后从服务器上checkout代码:
&如下图,说明成功导出代码。
(2)把我们写的程序从eclipse里面导出来,并打包成war包。
(3)把程序提交到BAE服务器上面。
预览并发布
访问以下我们的链接: http://chiyan.duapp.com/
方式二:把校验实现代码部署到SAE上。
(1) 进入到sae控制台。
(2 )然后选择上传代码包。
通过eclipse打包成war包,然后传到sae上。
(3)生成自己专属的域名。
&第三部分:&配置微信服务器。
&一、&进入到公众号测试账号设置页面
二、填写配置
配置之后,会提示配置成功。
&一、验证之后需要做的一些逻辑处理。
* 处理微信服务器发来的消息
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO 消息的接收、处理、响应
这个后面再写业务,到此,我们就完成了与微信服务器的校验。
&二、配置温馨提醒:
有朋友直接输入该请求:http://chiyan.duapp.com/coreServlet
是会报500空指针的错误,因为我们这样访问并没有我们程序中要传的参数传过去。
其他文章关联:
阅读(...) 评论()6被浏览648分享邀请回答12 条评论分享收藏感谢收起微信小程序 支付后台java实现实例
前些天使用 LeanCloud 云引擎写了个小程序的支付相关 以前只做过 APP 支付 这次在小程序支付爬了两天的坑 把代码也分享出来
1.小程序前端获取微信 openId 以及订单号 传给后台
2,后台根据 openId 和订单号进行签名 post 微信统一下单接口
3.后台获取微信返回的xml字符串 解析 二次签名以后返回给前端
4.前端调起支付微信支付 API
先看支付函数:
//获取支付信息
@EngineFunction("getPayInformation")
public static Map&String, Object& getPayInformation(
@EngineFunctionParam("orderId") String orderId
) throws AVException, UnsupportedEncodingException, DocumentException {
Map&String, Object& reqMap = new TreeMap&String, Object&(
new Comparator&String&() {
public int compare(String obj1, String obj2) {
// 升序排序
return obj1.compareTo(obj2);
if (AVUser.getCurrentUser() != null) {
String authDataJson = JSONArray.toJSONString(AVUser.getCurrentUser().get("authData"));
JSONObject jsonObject = JSON.parseObject(authDataJson);
jsonObject.get("lc_weapp");
JSONObject j2 = JSON.parseObject(jsonObject.get("lc_weapp").toString());
String openId = (String) j2.get("openid");
AVQuery&Order& query = AVObject.getQuery(Order.class);
Order order = query.get(orderId);
reqMap.put("appid", System.getenv("appid"));
reqMap.put("mch_id", System.getenv("mch_id"));
reqMap.put("nonce_str", WXPayUtil.getNonce_str());
reqMap.put("body", new String(order.getDishesList().toString().getBytes("UTF-8")));
reqMap.put("openid", openId);
reqMap.put("out_trade_no", order.getObjectId());
reqMap.put("total_fee", 1); //订单总金额,单位为分
reqMap.put("spbill_create_ip", "192.168.0.1"); //用户端ip
reqMap.put("notify_url", System.getenv("notify_url")); //通知地址
reqMap.put("trade_type", System.getenv("trade_type")); //trade_type=JSAPI时(即公众号支付),此参数必传,此参数为微信用户在商户对应appid下的唯一标识
String reqStr = WXPayUtil.map2Xml(reqMap);
String resultXml = HttpRequest.sendPost(reqStr);
System.out.println("微信请求返回:" + resultXml);
//解析微信返回串 如果状态成功 则返回给前端
if (WXPayUtil.getReturnCode(resultXml) != null && WXPayUtil.getReturnCode(resultXml).equals("SUCCESS")) {
Map&String, Object& resultMap = new TreeMap&&(
new Comparator&String&() {
public int compare(String obj1, String obj2) {
// 升序排序
return obj1.compareTo(obj2);
resultMap.put("appId", System.getenv("appid"));
resultMap.put("nonceStr", WXPayUtil.getNonceStr(resultXml));//解析随机字符串
resultMap.put("package", "prepay_id=" + WXPayUtil.getPrepayId(resultXml));
resultMap.put("signType", "MD5");
resultMap.put("timeStamp", String.valueOf((System.currentTimeMillis() / 1000)));//时间戳
String paySign = WXPayUtil.getSign(resultMap);
resultMap.put("paySign", paySign);
return resultM
throw new AVException(999, "微信请求支付失败");
throw new AVException(98, "当前未登录用户");
其中appid和mch_id可以用系统常量
PS:这里注意一个坑
二次签名的时候使用 appId nonceStr package signType timeStamp 这五个key生成签名(这里无视微信官方文档 以及注意 appId 的大小写)
前端调起API支付时 按照官方文档就可以
网络请求类:
HttpRequest
import java.io.BufferedR
import java.io.IOE
import java.io.InputStreamR
import java.io.PrintW
import java.net.URL;
import java.net.URLC
import java.util.L
import java.util.M
public class HttpRequest {
* 向指定URL发送GET方法的请求
* @param url
发送请求的URL
* @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
* @return URL 所代表远程资源的响应结果
public static String sendGet(String url, String param) {
String result = "";
BufferedReader in =
String urlNameString = url + "?" +
URL realUrl = new URL(urlNameString);
// 打开和URL之间的连接
URLConnection connection = realUrl.openConnection();
// 设置通用的请求属性
connection.setRequestProperty("accept", "*/*");
connection.setRequestProperty("connection", "Keep-Alive");
connection.setRequestProperty("user-agent",
"Mozilla/4.0 ( MSIE 6.0; Windows NT 5.1;SV1)");
// 建立实际的连接
connection.connect();
// 获取所有响应头字段
Map&String, List&String&& map = connection.getHeaderFields();
// 遍历所有的响应头字段
for (String key : map.keySet()) {
System.out.println(key + "---&" + map.get(key));
// 定义 BufferedReader输入流来读取URL的响应
in = new BufferedReader(new InputStreamReader(
connection.getInputStream()));
while ((line = in.readLine()) != null) {
} catch (Exception e) {
System.out.println("发送GET请求出现异常!" + e);
e.printStackTrace();
// 使用finally块来关闭输入流
if (in != null) {
in.close();
} catch (Exception e2) {
e2.printStackTrace();
* 向指定 URL 发送POST方法的请求
* @param url
发送请求的 URL
* @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
* @return 所代表远程资源的响应结果
public static String sendPost(String param) {
PrintWriter out =
BufferedReader in =
String result = "";
URL realUrl = new URL("https://api.mch.weixin.qq.com/pay/unifiedorder");
// 打开和URL之间的连接
URLConnection conn = realUrl.openConnection();
// 设置通用的请求属性
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("connection", "Keep-Alive");
conn.setRequestProperty("user-agent", "Mozilla/4.0 ( MSIE 6.0; Windows NT 5.1;SV1)");
conn.setRequestProperty("Pragma:", "no-cache");
conn.setRequestProperty("Cache-Control", "no-cache");
conn.setRequestProperty("Content-Type", "text/charset=utf-8");
// 发送POST请求必须设置如下两行
conn.setDoOutput(true);
conn.setDoInput(true);
// 获取URLConnection对象对应的输出流
out = new PrintWriter(conn.getOutputStream());
// 发送请求参数
out.print(param);
// flush输出流的缓冲
out.flush();
// 定义BufferedReader输入流来读取URL的响应
in = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
while ((line = in.readLine()) != null) {
} catch (Exception e) {
System.out.println("发送 POST 请求出现异常!" + e);
e.printStackTrace();
//使用finally块来关闭输出流、输入流
if (out != null) {
out.close();
if (in != null) {
in.close();
} catch (IOException ex) {
ex.printStackTrace();
XML解析工具类
import org.w3c.dom.NodeL
import javax.xml.parsers.DocumentB
import javax.xml.parsers.DocumentBuilderF
import java.io.ByteArrayInputS
import java.io.InputS
import java.io.UnsupportedEncodingE
import java.util.M
import java.util.R
public class WXPayUtil {
//生成随机字符串
public static String getNonce_str() {
String base = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
Random random = new Random();
StringBuilder sb = new StringBuilder();
for (int i = 0; i & 15; i++) {
int number = random.nextInt(base.length());
sb.append(base.charAt(number));
return sb.toString();
//map转xml 加上签名信息
public static String map2Xml(Map&String, Object& map) throws UnsupportedEncodingException {
StringBuffer sb = new StringBuffer();
StringBuilder sb2 = new StringBuilder();
sb2.append("&xml&");
for (String key : map.keySet()) {
sb.append(key);
sb.append('=');
sb.append(map.get(key));
sb.append('&');
// sb2是用来做请求的xml参数
sb2.append("&" + key + "&");
sb2.append("&![CDATA[" + map.get(key) + "]]&");
sb2.append(map.get(key));
sb2.append("&/" + key + "&");
sb.append(System.getenv("signKey"));
String sign = MD5.getMessageDigest(sb.toString().getBytes()).toUpperCase();
sb2.append("&sign&");
sb2.append(sign);
sb2.append("&/sign&");
sb2.append("&/xml&");
return sb2.toString();
//解析微信返回return_code SUCCESS或FILE
//根据微信返回resultXml再次生成签名
public static String getSign(Map&String, Object& map) {
StringBuffer sb = new StringBuffer();
for (String key : map.keySet()) {
sb.append(key);
sb.append('=');
sb.append(map.get(key));
sb.append('&');
sb.append(System.getenv("signKey"));
System.out.println("第二次签名内容:" + sb);
System.out.println("第二次签名SING:" + MD5.getMessageDigest(sb.toString().getBytes()).toUpperCase());
return MD5.getMessageDigest(sb.toString().getBytes()).toUpperCase();
//解析微信返回return_code SUCCESS或FILE
public static String getReturnCode(String resultXml) {
String nonceS
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
builder = dbf.newDocumentBuilder();
InputStream inputStream = new ByteArrayInputStream(resultXml.getBytes());
org.w3c.dom.Document doc = builder.parse(inputStream); //
// 下面开始读取
org.w3c.dom.Element root = doc.getDocumentElement(); // 获取根元素
NodeList nl = root.getElementsByTagName("return_code");
org.w3c.dom.Element el = (org.w3c.dom.Element) nl.item(0);
org.w3c.dom.Node nd = el.getFirstChild();
nonceStr = nd.getNodeValue();
return nonceS
} catch (Exception e) {
e.printStackTrace();
//解析微信返回return_msg
public static String getReturn_msg(String resultXml) {
String nonceS
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
builder = dbf.newDocumentBuilder();
InputStream inputStream = new ByteArrayInputStream(resultXml.getBytes());
org.w3c.dom.Document doc = builder.parse(inputStream); //
// 下面开始读取
org.w3c.dom.Element root = doc.getDocumentElement(); // 获取根元素
NodeList nl = root.getElementsByTagName("return_msg");
org.w3c.dom.Element el = (org.w3c.dom.Element) nl.item(0);
org.w3c.dom.Node nd = el.getFirstChild();
nonceStr = nd.getNodeValue();
return nonceS
} catch (Exception e) {
e.printStackTrace();
//解析微信返回appid
public static String getAppId(String resultXml) {
String nonceS
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
builder = dbf.newDocumentBuilder();
InputStream inputStream = new ByteArrayInputStream(resultXml.getBytes());
org.w3c.dom.Document doc = builder.parse(inputStream); //
// 下面开始读取
org.w3c.dom.Element root = doc.getDocumentElement(); // 获取根元素
NodeList nl = root.getElementsByTagName("appid");
org.w3c.dom.Element el = (org.w3c.dom.Element) nl.item(0);
org.w3c.dom.Node nd = el.getFirstChild();
nonceStr = nd.getNodeValue();
return nonceS
} catch (Exception e) {
e.printStackTrace();
//解析微信返回mch_id
public static String getMchId(String resultXml) {
String nonceS
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
builder = dbf.newDocumentBuilder();
InputStream inputStream = new ByteArrayInputStream(resultXml.getBytes());
org.w3c.dom.Document doc = builder.parse(inputStream); //
// 下面开始读取
org.w3c.dom.Element root = doc.getDocumentElement(); // 获取根元素
NodeList nl = root.getElementsByTagName("mch_id");
org.w3c.dom.Element el = (org.w3c.dom.Element) nl.item(0);
org.w3c.dom.Node nd = el.getFirstChild();
nonceStr = nd.getNodeValue();
return nonceS
} catch (Exception e) {
e.printStackTrace();
//解析微信返回nonce_str
public static String getNonceStr(String resultXml) {
String nonceS
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
builder = dbf.newDocumentBuilder();
InputStream inputStream = new ByteArrayInputStream(resultXml.getBytes());
org.w3c.dom.Document doc = builder.parse(inputStream); //
// 下面开始读取
org.w3c.dom.Element root = doc.getDocumentElement(); // 获取根元素
NodeList nl = root.getElementsByTagName("nonce_str");
org.w3c.dom.Element el = (org.w3c.dom.Element) nl.item(0);
org.w3c.dom.Node nd = el.getFirstChild();
nonceStr = nd.getNodeValue();
return nonceS
} catch (Exception e) {
e.printStackTrace();
//解析微信返回prepay_id
public static String getPrepayId(String resultXml) {
String nonceS
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
builder = dbf.newDocumentBuilder();
InputStream inputStream = new ByteArrayInputStream(resultXml.getBytes());
org.w3c.dom.Document doc = builder.parse(inputStream); //
// 下面开始读取
org.w3c.dom.Element root = doc.getDocumentElement(); // 获取根元素
NodeList nl = root.getElementsByTagName("prepay_id");
org.w3c.dom.Element el = (org.w3c.dom.Element) nl.item(0);
org.w3c.dom.Node nd = el.getFirstChild();
nonceStr = nd.getNodeValue();
return nonceS
} catch (Exception e) {
e.printStackTrace();
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
欢迎转载:
相关推荐:

我要回帖

更多关于 把程序放到网页打开 的文章

 

随机推荐