Heim  >  Artikel  >  WeChat-Applet  >  Zusammenfassung der grafischen und Textcode-Freigabe der JAVA WeChat-Entwicklung

Zusammenfassung der grafischen und Textcode-Freigabe der JAVA WeChat-Entwicklung

黄舟
黄舟Original
2017-04-15 11:17:191780Durchsuche

Ich habe kürzlich WeChat studiert und festgestellt, dass es nicht schwierig ist, den Open-Source-Code von Marker (www.yl-blog.com) auszuleihen und ein paar kleine Fehler zu ändern (ich habe eine Nachricht auf der Open-Source-Website des Autors hinterlassen). Weitere Informationen finden Sie hier.) Open-Source-Website), die Schlüssellogik wird schnell erkannt:
1. Entwicklerüberprüfung
2. Passen Sie das Menü über die Programmoberfläche an
3. Senden Sie, nachdem der Benutzer aufgepasst hat eine Willkommensnachricht
4. Geben Sie laut Benutzer das Thema ein, das Sie interessiert
5. Senden Sie Dateinachrichten, senden Sie grafische Nachrichten
6. Verwenden Sie statische Webseiten, um eine einfache Vorlage der WeChat-Website zu simulieren

Das öffentliche Konto daydayup_it ist nervös. Es befindet sich in der Planung und Entwicklung und wird bald eingeführt. Der Plan bietet hauptsächlich einige hochwertige Bildungsressourcen, also achten Sie bitte darauf.

Wenn ich Zeit habe, werde ich die Schlüsseltechnologien sortieren und sie veröffentlichen, um mit allen zu kommunizieren.

1. Entwicklerüberprüfung. Tatsächlich geht es dabei hauptsächlich um das Schreiben eines Servlets. Dies kann mit etwas Erfahrung in der Webentwicklung problemlos durchgeführt werden.

package org.marker.weixin.test;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.Writer;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;

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

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
 * 处理微信服务器请求的Servlet URL地址:http://xxx/weixin/dealwith.do
 * 
 * @author marker
 * @blog www.yl-blog.com
 * @weibo http://t.qq.com/wuweiit
 */
public class WinXinServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	private static Log log = LogFactory.getLog(WinXinServlet.class);

	// TOKEN 是你在微信平台开发模式中设置的字符串
	public static final String TOKEN = "YourToken";

	/**
	 * 处理微信服务器验证
	 * http://wallimn.iteye.com, 2014-09-11
	 */
	protected 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");// 随机字符串
		Writer out = response.getWriter();
		System.out.println("收到验证请求:");
		System.out.println("  signature="+signature);
		System.out.println("  timestamp="+timestamp);
		System.out.println("  nonce="+nonce);
		System.out.println("  echostr="+echostr);
		if(signature==null || timestamp==null || nonce==null || echostr==null){
			//这几个参数为空时,排序会报错。
			out.write("parameter is null!");
		}
		else{
			// 重写totring方法,得到三个参数的拼接字符串
			List<String> list = new ArrayList<String>(3) {
				private static final long serialVersionUID = 2621444383666420433L;
				public String toString() {
					return this.get(0) + this.get(1) + this.get(2);
				}
			};
			list.add(TOKEN);
			list.add(timestamp);
			list.add(nonce);
			Collections.sort(list);// 排序
			String tmpStr = new MySecurity().encode(list.toString(),
					MySecurity.SHA_1);// SHA-1加密
			if (signature.equals(tmpStr)) {
				out.write(echostr);// 请求验证成功,返回随机码
			} else {
				out.write("check error!");
			}
		}
		out.flush();
		out.close();
	}

	
	/**
	 * 处理微信服务器发过来的各种消息,包括:文本、图片、地理位置、音乐等等
	 * http://wallimn.iteye.com, 2014-09-11
	 */
	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		log.info("收到POST请求:"+(new Date()));
		request.setCharacterEncoding("utf-8");
		response.setContentType("text/html; charset=utf-8");
		InputStream is = request.getInputStream();
		OutputStream os = response.getOutputStream();
		//TODO:写微信平台推送过来的各种信息的处理逻辑
	}
}

2. Der Test-Homepage-Effekt und -Code Mit Hilfe von Bootstrap wird die Spalte beim horizontalen Betrachten des Mobiltelefons zu einem 2*2-Layout, index.jsp, das die Unterstützung von JSTL erfordert ohne die Wirkung zu beeinträchtigen. Achten Sie einfach auf den Pfad der verbundenen Datei

Zusammenfassung der grafischen und Textcode-Freigabe der JAVA WeChat-Entwicklung

Zusammenfassung der grafischen und Textcode-Freigabe der JAVA WeChat-Entwicklung


Das obige ist der detaillierte Inhalt vonZusammenfassung der grafischen und Textcode-Freigabe der JAVA WeChat-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn