Java微信公众号开发
2015-05-23 08:45
309 查看
微信公众平台是腾讯为了让用户申请和管理微信公众账号而推出的一个web平台。微信公众账号的种类可以分为3种,并且一旦选定不可更改。按照功能的限制从小到大依次为:订阅号、服务号、企业号。个人只能注册订阅号。注册地址:https://mp.weixin.qq.com/。
外网映射工具(开发调试)
与微信的对接的URL应该满足以下的条件:
在公网上能够访问
只支持80端口
映射工具有很多,例如花生壳,ngrok可以将内网映射到公网上面,这样就可以使用公网访问本机的网络服务。下载链接: http://pan.baidu.com/s/1i3u26St 密码: v4e8(里面有简明的教程)。
TextMeaasge.java
实现消息转换的工具类
Xtream下载地址:http://xstream.codehaus.org/download.html。dom4j下载地址:http://git.oschina.net/gaopengfei/Java_XML/raw/master/lib/dom4j-1.6.1.jar
天气预报项目的github地址:https://github.com/gao-pengfei/WeChat.git
开发环境的准备
微信公众号外网映射工具(开发调试)
与微信的对接的URL应该满足以下的条件:
在公网上能够访问
只支持80端口
映射工具有很多,例如花生壳,ngrok可以将内网映射到公网上面,这样就可以使用公网访问本机的网络服务。下载链接: http://pan.baidu.com/s/1i3u26St 密码: v4e8(里面有简明的教程)。
微信公众号的数据交互原理
package org.gpf.po; /** * 按照微信的接入文档编写的微信文本消息实体 */ public class TextMeaasge { private String ToUserName; private String FromUserName; private long CreateTime; private String MsgType; private String Content; private String MsgId; public TextMeaasge() { } public String getToUserName() { return ToUserName; } public void setToUserName(String toUserName) { ToUserName = toUserName; } public String getFromUserName() { return FromUserName; } public void setFromUserName(String fromUserName) { FromUserName = fromUserName; } public long getCreateTime() { return CreateTime; } public void setCreateTime(long createTime) { CreateTime = createTime; } public String getMsgType() { return MsgType; } public void setMsgType(String msgType) { MsgType = msgType; } public String getContent() { return Content; } public void setContent(String content) { Content = content; } public String getMsgId() { return MsgId; } public void setMsgId(String msgId) { MsgId = msgId; } }
TextMeaasge.java
实现消息转换的工具类
package org.gpf.util; import java.io.IOException; import java.io.InputStream; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; import org.gpf.po.TextMeaasge; import com.thoughtworks.xstream.XStream; /** * 实现消息的格式转换(Map类型和XML的互转) */ public class MessageUtil { /** * 将XML转换成Map集合 */ public static Map<String, String>xmlToMap(HttpServletRequest request) throws IOException, DocumentException{ Map<String, String> map = new HashMap<String, String>(); SAXReader reader = new SAXReader(); // 使用dom4j解析xml InputStream ins = request.getInputStream(); // 从request中获取输入流 Document doc = reader.read(ins); Element root = doc.getRootElement(); // 获取根元素 List<Element> list = root.elements(); // 获取所有节点 for (Element e : list) { map.put(e.getName(), e.getText()); System.out.println(e.getName() + "--->" + e.getText()); } ins.close(); return map; } /** * 将文本消息对象转换成XML */ public static String textMessageToXML(TextMeaasge textMessage){ XStream xstream = new XStream(); // 使用XStream将实体类的实例转换成xml格式 xstream.alias("xml", textMessage.getClass()); // 将xml的默认根节点替换成“xml” return xstream.toXML(textMessage); } }
Xtream下载地址:http://xstream.codehaus.org/download.html。dom4j下载地址:http://git.oschina.net/gaopengfei/Java_XML/raw/master/lib/dom4j-1.6.1.jar
天气预报项目的github地址:https://github.com/gao-pengfei/WeChat.git
相关文章推荐
- java微信公众号开发怎样进行本地联调
- 关于Java开发微信公众号-菜单创建-2
- JAVA微信公众号开发之客服消息
- 用Java开发微信公众号
- java版微信公众号开发之自定义菜单的创建
- 微信公众号开发(java)步骤1
- 微信公众号开发之获取access_token[java版]
- 微信公众号开发-客户端侧-服务器URL认证 Java版
- 微信公众号开发系列之发送红包-java版本
- java_微信公众号开发笔记
- java开发的微信公众号服务端生产环境中的两个大坑
- java二次开发微信公众号授权
- 微信公众号开发_Java(2)--开始开发
- 关于http socket timeout 超时时间 未设置 导致线程一直在等待(线程饥饿),微信公众号开发过程遇到的。java
- 微信公众号开发接口指南(java实现)
- [置顶] 微信公众号开发---退款(java)
- java 微信公众号开发之简单的实现文字回复的操作
- java开发微信公众号支付
- 微信公众号支付的开发经历 2016年java版
- java微信公众号开发本地web调试