Java微信開發-微信java開發接入平臺例項
阿新 • • 發佈:2018-12-31
package com.levi.service; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.levi.utils.SHA1; /** * Servlet implementation class WeiXin */ public class WeiXin extends HttpServlet { private static final long serialVersionUID = 1L; private static String Token = "leviweixin"; //這個是之前在微信上填寫的Token資料,可以自定義 /** * @see HttpServlet#HttpServlet() */ public WeiXin() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("get請求,正確"); System.out.println("獲得微信請求!"); String signature=request.getParameter("signature"); String timestamp=request.getParameter("timestamp"); String nonce=request.getParameter("nonce"); String echostr=request.getParameter("echostr"); System.out.println("signature="+signature); System.out.println("timestamp="+timestamp); System.out.println("nonce="+nonce); System.out.println("echostr="+echostr); System.out.println("Token="+Token); List<String> params = new ArrayList<String>(); params.add(Token); params.add(timestamp); params.add(nonce); //1. 將token、timestamp、nonce三個引數進行字典序排序 Collections.sort(params, new Comparator<String>() { @Override public int compare(String o1, String o2) { return o1.compareTo(o2); } }); //2. 將三個引數字串拼接成一個字串進行sha1加密 String temp = SHA1.encode(params.get(0) + params.get(1) + params.get(2)); if (temp.equals(signature)) { System.out.println("原:"+signature); System.out.println("測試:"+temp); System.out.println("匹配正確,傳回微信了"); response.getWriter().write(echostr); System.out.println("傳回微信成功"); } else { System.out.println("沒有傳回去資料,"); } } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("post請求,錯誤了"); } }