~~~
/**
* 請求處理的核心類
*
*/
public class CoreServlet extends HttpServlet {
private static final long serialVersionUID = 4440739483644821986L;
/**
* 請求校驗(確認請求來自微信服務器)
*/
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();
// 請求校驗,若校驗成功則原樣返回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 消息的接收、處理、響應
}
}
~~~
在啟用開發模式時,只需要對GET請求進行校驗,因此doPost()方法在本例中不是必須的,doPost()方法主要用于處理微信服務器發來的消息,在后面會用到,目前只是一個空方法