第一站-部署開發工具

首先我們要註冊一個微信開發者的賬號,註冊地址
然後我們就要開始配置開發環境。我們選擇主流的ngrok.註冊地址

註冊之後填寫ngrok信息

下面是填寫的規範

下載地址

下載後之後:


在這裏輸入客戶端id以後

然後再web服務器上輸入你的轉發地址:
我的是:zhouwei.ngrok.cc(事先請啓動tomcat服務器)


接下來就是和微信後臺的對接

我們進入開發者選項:

我們要在Elipse中寫兩個.Java來獲得以上參數取得對接。

其中Check.java

import java.security.MessageDigest;
import java.util.*;

public class Check {
    private static final String token="fuchen";
   public static boolean CheckSingnature(String signature,String timestamp,String nonce)
   {
       String[] arr=new String[]{token,timestamp,nonce};
       //排序
       Arrays.sort(arr);

       StringBuffer content=new StringBuffer();
       for(int i=0;i<arr.length;i++)
       {
           content.append(arr[i]);
       }
      String temp=getSha1(content.toString());

      return temp.equals(signature);
   }
   //sha1加密算法
   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;
       }
   }
}

WeiXinServlet.java

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class WeiXinServlet
 */
@WebServlet("/WeiXinServlet")
public class WeiXinServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public WeiXinServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
    //  response.getWriter().append("Served at: ").append(request.getContextPath());
        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 (Check.CheckSingnature(signature, timestamp, nonce))
        {
            out.print(echostr);

        }
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

配置web.xml

  <servlet>
  <servlet-name>WeiXinServlet</servlet-name>
  <servlet-class>weixin.Servlet.WeiXinServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>WeiXinServlet</servlet-name>
  <url-pattern>/WeiXinServlet</url-pattern>
  </servlet-mapping>

最後配置微信後臺的參數

點擊確認對接

開發環境的部署到這裏就結束了,具體開發我們下期再見

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章