> Java > java지도 시간 > 본문

Java+WeChat 공개 계정 개발 프로세스 단계에 대한 자세한 설명

php是最好的语言
풀어 주다: 2018-08-10 14:44:45
원래의
12211명이 탐색했습니다.

지난 이틀간 위챗 공개계정 개발을 배우고 싶어서 온라인으로 검색해서 연습을 시작했는데, 그 과정에서 여러가지 문제로 인해(설명이 불완전하고, 어떤 글에서는 방법도 모르고 새로운 상수가 뜨기도 했고, 어떻게 해야할지 몰랐습니다.) 어디에 정의되어 있는지, jar 패키지 버전 문제로 인해 하루 동안 고민했습니다.) 여기에 기록하겠습니다.

1. 먼저 Du Niang에서 WeChat 공개 계정을 검색하고 이 페이지로 들어가 등록하세요. (이미 계정이 있는 경우 이 단계를 건너뛰세요.) 그런 다음 Eclipse를 사용하세요. 새 프로젝트를 만들려면 여기에서 웹 프로젝트를 만들고 있습니다. jdk는 1.8이고 tomcat은 8.5입니다.

Java+WeChat 공개 계정 개발 프로세스 단계에 대한 자세한 설명

3. WeChat과 연결을 설정하려면 프로젝트를 만든 후 먼저 새 클래스를 만듭니다. 이름: CheckUtil, 해당 기능은 다음과 같습니다. WeChat에 연결된 확인 도구, 코드는 다음과 같습니다.

import java.security.MessageDigest;
import java.util.Arrays;

public class CheckUtil {
	public static final String  tooken = "自行定义"; //开发者自行定义Tooken
	public static boolean checkSignature(String signature,String timestamp,String nonce){
		//1.定义数组存放tooken,timestamp,nonce
		String[] arr = {tooken,timestamp,nonce};
		//2.对数组进行排序
		Arrays.sort(arr);
		//3.生成字符串
		StringBuffer sb = new StringBuffer();
		for(String s : arr){
			sb.append(s);
		}
		//4.sha1加密,网上均有现成代码
		String temp = getSha1(sb.toString());
		//5.将加密后的字符串,与微信传来的加密签名比较,返回结果
		return temp.equals(signature);
	}

	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;
        }
    }
}
로그인 후 복사

4 그런 다음 새 서블릿을 만들고 WeChat에서 GET 요청을 수신하는 doGet 메서드를 다시 작성합니다. Java+WeChat 공개 계정 개발 프로세스 단계에 대한 자세한 설명

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		response.setContentType("text/html");
		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(CheckUtil.checkSignature(signature, timestamp, nonce)){
			//如果校验成功,将得到的随机字符串原路返回
			out.print(echostr);
		}
	}
로그인 후 복사
5. 코드가 작성된 후에는 WeChat이 백엔드에 액세스할 수 있도록 인트라넷 링크를 공용 네트워크에 매핑해야 합니다. 여기서는 무료 매핑 도구인 ngrok를 사용합니다. 다운로드 후 압축을 풀고 지정된 위치에 넣은 후 win 키 + R 키를 동시에 누르고 cmd를 입력한 후 Enter를 눌러 dos 환경으로 진입한 후 ngrock이 있는 드라이브 문자로 전환하세요. , ngrock http 8080을 입력하고 Enter를 누르세요(이 작업을 수행하기 전에 tomcat을 시작하세요):

6. 돌아가기 운전 후 잠시 기다리면 그림과 같이 음영 처리된 영역에 제공된 링크를 받게 됩니다. 아래 그림은 http 프로토콜과 https 프로토콜에 해당하는 주소인 이 머신의 127.0.0.1:8080 아래 링크 콘텐츠에 직접 액세스할 수 있습니다.

Java+WeChat 공개 계정 개발 프로세스 단계에 대한 자세한 설명

7 위챗 공식 계정 플랫폼에 로그인하세요. 하단에 있는 개발을 클릭하세요. - 기본 구성:

Java+WeChat 공개 계정 개발 프로세스 단계에 대한 자세한 설명

제출 버튼을 클릭하세요. 제출이 성공하면 WeChat이 자체 Backstage에 액세스할 수 있다는 의미입니다.

관련 권장사항: Java+WeChat 공개 계정 개발 프로세스 단계에 대한 자세한 설명

WeChat 공개 플랫폼 개발을 위한 Java 그래픽 및 텍스트 코드 예시

WeChat 공개 계정 결제 개발(Java) 예시에 대한 자세한 설명

위 내용은 Java+WeChat 공개 계정 개발 프로세스 단계에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿