微信公众号开发系列三:响应关注和取关事件
一、实际需求
二、开发文档
三、编码实现
1、引入相关jar包:dom4j-1.6.1.jar、servlet-api-2.5.jar、xstream-1.3.1.jar用来处理xml文件。
2、根据开发文档中的xml内容,创建消息对象基础类BaseMessage:
/* * 消息体基础类 */ public class BaseMessage { private String ToUserName; private String FromUserName; private long CreateTime; private String MsgType; 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; } }3、创建文本消息类TextMessage继承消息基础类:
/* * 文本消息类 */ public class TextMessage extends BaseMessage{ private String Content; private String MsgId; public String getContent() { return Content; } public void setContent(String content) { Content = content; } public String getMsgId() { return MsgId; } public void setMsgId(String msgId) { MsgId = msgId; } }4、创建处理xml的工具类XmlUtil:
/* * xml处理工具类 */ public class XmlUtil { /* * xml转map */ public static Map<String, String> xmlToMap(HttpServletRequest request) throws IOException, DocumentException{ HashMap<String, String> map = new HashMap<String,String>(); SAXReader reader = new SAXReader(); InputStream ins = request.getInputStream(); Document doc = reader.read(ins); Element root = doc.getRootElement(); @SuppressWarnings("unchecked") List<Element> list = (List<Element>)root.elements(); for(Element e:list){ map.put(e.getName(), e.getText()); } ins.close(); return map; } /* * 文本消息对象转xml */ public static String textMsgToxml(TextMessage textMessage){ XStream xstream = new XStream(); xstream.alias("xml", textMessage.getClass()); return xstream.toXML(textMessage); } }5、创建消息处理类MessageUtil: 6、在WeixinServlet类中新增doPost方法,用来响应微信用户发来的操作请求:
7、代码结构图:
四、本节小结
通过以上操作,我们在新增加一个功能的时候,首先要查看官方开发文档,依据其xml交互格式来封装自己的类和方法,在此基础上增加业务逻辑来实现符合自己的需求实现。
五、相关链接
更多学习讨论, 请加入
天亮教育官方群:318971238,
hadoop & spark & hive技术群:297585251,
官网:myhope365.com
官方天亮论坛:
天亮教育视频链接: 密码:zqa7
上一篇:
uniapp开发微信小程序-2.页面制作