1 验证URL时,需要原样返回echostr。验证则将传递的timestamp,TOKEN,nonce3个参数,放到list中,然后排序,取出组合成string,计算sha1是否与传递的signature一致


2 对消息的处理,api讲微信服务器post消息到开发者的服务器,这时候就需要对收到的数据进行处理。

/**
 * 解析微信发来的请求(XML)
 * 
 * @param request
 * @return
 * @throws Exception
 */
@SuppressWarnings("unchecked")
public static Map<String, String> parseXml(HttpServletRequest request) throws Exception {
	// 将解析结果存储在HashMap中
	Map<String, String> map = new HashMap<String, String>();

	// 从request中取得输入流
	InputStream inputStream = request.getInputStream();
	// 读取输入流
	SAXReader reader = new SAXReader();
	Document document = reader.read(inputStream);
	// 得到xml根元素
	Element root = document.getRootElement();
	// 得到根元素的所有子节点
	List<Element> elementList = root.elements();

	// 遍历所有子节点
	for (Element e : elementList)
		map.put(e.getName(), e.getText());

	// 释放资源
	inputStream.close();
	inputStream = null;

	return map;
}

来源:http://blog.csdn.net/lyq8479/article/details/8949088