首先我們要註冊一個微信開發者的賬號,註冊地址
然後我們就要開始配置開發環境。我們選擇主流的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>
最後配置微信後臺的參數
點擊確認對接
開發環境的部署到這裏就結束了,具體開發我們下期再見