【java、Spring MVC】微信公共帐号开发_开始接入

第一步:填写服务器配置

兵车未动,粮草先行,首先你得有台服务器,80端口未被占用~

想必这里的api大家都看过的


【java、Spring MVC】微信公共帐号开发_开始接入_第1张图片

说明:URL填写你服务器80端口的URL,比如楼主的是(http://******/weixinTest.jspx),这里还需要与微信握手,以确保次连接有效;

            Token数字和英文组成的字符串,最大长度为32字符,比如楼主的是xb12369;

            EncodingAESKey直接用后面的随机生成,到目前为止还没用用到这个;


第二步:验证服务器地址的有效性


刚才也说过,微信会校验你的URL是否有效,那么接下来开始正式握手!!!

【java、Spring MVC】微信公共帐号开发_开始接入_第2张图片


说明:1,字典排序

ArrayList list = new ArrayList();
				list.add(token);
				list.add(timestamp);
				list.add(nonce);

				Collections.sort(list, new SpellComparator());


/**
	 * 汉字拼音排序比较器
	 */
	static class SpellComparator implements Comparator{
		public int compare(Object o1, Object o2) {
			try {
				// 取得比较对象的汉字编码,并将其转换成字符串
				String s1 = new String(o1.toString().getBytes("GB2312"), "ISO-8859-1");
				String s2 = new String(o2.toString().getBytes("GB2312"), "ISO-8859-1");
				// 运用String类的 compareTo()方法对两对象进行比较
				return s1.compareTo(s2);
			} catch (Exception e) {
				e.printStackTrace();
			}
			return 0;
		}
	}


2,sha1加密,关于这种加密,百度一下到处都是

//将三个参数字符串拼接成一个字符串进行sha1加密
				String digest = new SHA1Utils().getDigestOfString(temp.getBytes());


3,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。

之前就一直卡在这里,没有搞清楚啥叫原样返回,后面终于弄明白了,然来是要printwriter到微信

if(digest.equalsIgnoreCase(signature)){
					try{
						System.out.println("我成功了~~~~");
						//开发者通过检验signature对请求进行校验(下面有校验方式)。
						//若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。

						PrintWriter out = response.getWriter();
						out.print(echostr);
						out.flush();
						out.close();

						System.out.println("这次你再改成功改了吧~~~");
					}catch (Exception e) {
						e.printStackTrace();
					}
				}else{
					System.out.println("sha1加密后:" +digest+ "微信返回的是:"+signature);
				}

部分代码如下,仅供参考:



认证通过后,微信公共平台将会得到一个AppID,AppSecret,有了这两个你就可以往下高更深入的东西了!!!

你可能感兴趣的:(java微信开发)