首頁 >Java >java教程 >Java+微信公眾號開發過程步驟詳解

Java+微信公眾號開發過程步驟詳解

php是最好的语言
php是最好的语言原創
2018-08-10 14:44:4512235瀏覽

這兩天自己想學習微信公眾號開發,於是在網上搜索並上手練習,在這個過程中因為各種問題,(描述不完整,有的文章不知道怎麼就蹦出個新的常量,也沒說在哪裡定義的,還有jar包版本的問題坑了我一天的時間)所以特此在這記錄。

1.首先,先得註冊一個微信公眾號,上度娘搜尋微信公眾平台,進入這個頁面註冊(已有帳號的跳過這個步驟):

Java+微信公眾號開發過程步驟詳解

2.然後用Eclipse新建一個項目,這裡我建的是web項目,jdk是1.8,tomcat是8.5.

Java+微信公眾號開發過程步驟詳解

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):

Java+微信公眾號開發過程步驟詳解

6.回車後等待一會兒,即可得到公網鏈接,下圖所示陰影區域給出的鏈接,即可直接訪問本機127.0.0.1:8080下的鏈接內容,分別是http協議和https協議對應的地址:

Java+微信公眾號開發過程步驟詳解

#7.登入微信公眾號平台,滑到最下面,點擊左下角的開發-基本配置:

Java+微信公眾號開發過程步驟詳解

點擊提交按鈕,提示提交成功就說明微信能訪問到我們自己的後台了。

相關推薦:

Java實作微信公眾平台開發的圖文程式碼實例

微信公眾號支付開發(java)實例詳解

#

以上是Java+微信公眾號開發過程步驟詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn