您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Java+微信公众号开发过程步骤详解

2024/3/14 2:03:08发布21次查看
这两天自己想学习微信公众号开发,于是在网上搜索并上手练习,在这个过程中因为各种问题,(描述不完整,有的文章不知道怎么就蹦出个新的常量,也没说在哪定义的,还有jar包版本的问题坑了我一天的时间)所以特此在这记录。
1.首先,先得注册一个微信公众号,上度娘搜索微信公众平台,进入这个页面注册(已有账号的跳过这个步骤):
2.然后用eclipse新建一个项目,这里我建的是web项目,jdk是1.8,tomcat是8.5.
3.为了和微信建立连接,建好工程后先新建一个类,命名为:checkutil,它的作用是作为和微信连接的校验工具,代码如下:
import java.security.messagedigest;import java.util.arrays;public class checkutil { public static final string tooken = "自行定义"; //开发者自行定义tooken public static boolean checksignature(string signature,string timestamp,string nonce){ //1.定义数组存放tooken,timestamp,nonce string[] arr = {tooken,timestamp,nonce}; //2.对数组进行排序 arrays.sort(arr); //3.生成字符串 stringbuffer sb = new stringbuffer(); for(string s : arr){ sb.append(s); } //4.sha1加密,网上均有现成代码 string temp = getsha1(sb.tostring()); //5.将加密后的字符串,与微信传来的加密签名比较,返回结果 return temp.equals(signature); } public static string getsha1(string str){ if(str==null||str.length()==0){ return null; } char hexdigits[] = {'0','1','2','3','4','5','6','7','8','9', 'a','b','c','d','e','f'}; try { messagedigest mdtemp = messagedigest.getinstance("sha1"); mdtemp.update(str.getbytes("utf-8")); byte[] md = mdtemp.digest(); int j = md.length; char buf[] = new char[j*2]; int k = 0; for (int i = 0; i < j; i++) { byte byte0 = md[i]; buf[k++] = hexdigits[byte0 >>> 4 & 0xf]; buf[k++] = hexdigits[byte0 & 0xf]; } return new string(buf); } catch (exception e) { // todo: handle exception return null; } }}
4.然后新建一个servlet,重写doget方法接收微信发来的get请求,部分代码如下:
public void doget(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception { response.setcontenttype("text/html"); string signature = request.getparameter("signature"); string timestamp = request.getparameter("timestamp"); string nonce = request.getparameter("nonce"); string echostr = request.getparameter("echostr"); printwriter out = response.getwriter(); if(checkutil.checksignature(signature, timestamp, nonce)){ //如果校验成功,将得到的随机字符串原路返回 out.print(echostr); } }
5.代码写完后,这里需要一个工具将我们的内网链接映射为公网,这样微信才能访问到我们的后台,这里我采用的是一款免费的映射工具ngrok,去度娘搜索下载即可,下载完后解压放在一个指定位置,同时按住win键+r键,输入cmd,回车进入dos环境,切换到ngrock所在盘符,输入ngrock http 8080 回车(在这之前先启动tomcat):
6.回车后等待一会,即可得到公网链接,下图所示阴影区域给出的链接,即可直接访问本机127.0.0.1:8080下的链接内容,分别是http协议和https协议对应的地址:
7.登录微信公众号平台,滑到最下面,点击左下角的开发——基本配置:
点击提交按钮,提示提交成功就说明微信能访问到我们自己的后台了。
相关推荐:
java实现微信公众平台开发的图文代码实例
微信公众号支付开发(java)实例详解
以上就是java+微信公众号开发过程步骤详解的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product