Java微信公眾平臺(tái)開發(fā)回復(fù)文本消息
類名或參數(shù)描述WeChatServlet:公眾號(hào)基本配置里-服務(wù)器配置url,http://100.200.200.78/weChat/weChatServlet一個(gè)普通的Java servlet類,
類名或參數(shù)描述
WeChatServlet:公眾號(hào)基本配置里-服務(wù)器配置url,http://100.200.200.78/weChat/weChatServlet
一個(gè)普通的Java servlet類,服務(wù)器會(huì)將XML格式數(shù)據(jù)經(jīng)servlet類中doPost方法回復(fù)給微信服務(wù)器,weChat為項(xiàng)目名稱
Token:公眾號(hào)中基本配置-服務(wù)器配置中的Token,案例中為weixinTest(請查看doGet方法)
SignUtil:WeChatServlet中微信接入驗(yàn)證簽名算法工具類,請參考doGet方法
MessageUtil:解析XML工具類
WeChatServlet代碼
```java
package com.test;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
/
* 核心請求處理類
* @author vxzsk
*
* doGet方法里有個(gè)weixinTest,這個(gè)是公眾管理平臺(tái)里面自己設(shè)置的token,
* 大家根據(jù)自己的token替換
*/
public class WeChatServlet extends HttpServlet {
private static final long serialVersionUID 1508798736675904038L;
/
* 確認(rèn)請求來自微信服務(wù)器
*/
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
("原創(chuàng)");
// 微信加密簽名
String signature ("signature");
("微信加密簽名signature:-----------------------" signature);
// 時(shí)間戳
String timestamp ("timestamp");
("時(shí)間戳timestamp:-----------------------" timestamp);
// 隨機(jī)數(shù)
String nonce ("nonce");
("隨機(jī)數(shù)nonce:-----------------------" nonce);
// 隨機(jī)字符串
String echostr ("echostr");
("隨機(jī)字符串echostr:-----------------------" echostr);
PrintWriter out ();
// 通過檢驗(yàn)signature對請求進(jìn)行校驗(yàn),若校驗(yàn)成功則原樣返回echostr,表示接入成功,否則接入失敗
if (("weixinTest", signature, timestamp, nonce)) {
(echostr);
("這是:" echostr);
}
();
out null;
}
/
* 處理微信服務(wù)器發(fā)來的消息
*/
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
("微信服務(wù)器發(fā)來消息------------");
("");
// 將請求、響應(yīng)的編碼均設(shè)置為UTF-8(防止