实际需求

当我们关注某些微信公众号的时候,有的公众号会给我们回复一条文本信息。本节内容,我们就来实现如何在用户关注公众号后,由公众号给用户回复一条文本信息。同样在用户取消关注时,也可以给用户发送一条信息。

开发文档

我们是基于微信的第三方平台来做二次开发,开发的依据必须是官方的API也就是开发文档。所以,我们要先查询开发文档来找到关注和取关事件说明。请自行访问微信开发文档之关注和取关事件,如图:

由此可知,我们的公众号服务接收到微信服务器回传的xml信息,从中获取MsgType和Event的值,可以区分出用户的关注和取消关注的行为,对不同的行为程序可以做出不同的响应。

编码实现

1、引入相关jar包:dom4j-1.6.1.jar、servlet-api-2.5.jar、xstream-1.3.1.jar用来处理xml文件。

2、根据开发文档中的xml内容,创建消息对象基础类BaseMessage:

3、创建文本消息类TextMessage继承消息基础类:

4、创建处理xml的工具类XmlUtil:

5、创建消息处理类MessageUtil:

6、在WeixinServlet类中新增doPost方法,用来响应微信用户发来的操作请求:

7、代码结构图:

本节小结

通过以上操作,我们在新增加一个功能的时候,首先要查看官方开发文档,依据其xml交互格式来封装自己的类和方法,在此基础上增加业务逻辑来实现符合自己的需求实现。

至此通过以上步骤,我们就完成了微信公众号的关注和取消关注的响应事件。

微信公众号开发:Java后台如何处理公众号关注和取关事件相关推荐

  1. 微信公众号开发-Java版学习笔记

    微信公众号开发整体不难,主要是熟悉微信公众号常用的一些接口文档,然后会一门后端语言(比如java)即可. 罗召勇老师教程:微信公众号开发-Java版(蓝桥罗召勇) 微信公众号文档:微信公众号官方文档 ...

  2. 微信公众号开发——Java

    微信公众号开发--Java 步骤一:需要先进入公众号平台进行JS接口安全域名的设置. 步骤二:引入微信jssdk.js文件 生成JS-SDK权限验证签名 步骤三:通过config接口注入权限验证配置 ...

  3. 微信公众号开发-java版 腾讯课堂(开发接入)

    微信公众号开发-java版 腾讯课堂 微信测试号申请地址: 微信二维码直接扫描登录 1.新建web项目 2.内网穿透映射公网ip  (免费隧道需要支付宝实名认证) 3.微信接入验证签名 TOKEN自己 ...

  4. 【微信公众号开发】四、公众号按钮设置及自己的微信按钮编辑器

    文章详情:[微信公众号开发]四.公众号按钮设置及自己的微信按钮编辑器 链接:https://www.microanswer.cn/blog/14

  5. 微信公众号测试账号申请,后台获取公众号关注取关事件,获取用户发送消息

    目录 1.访问微信公众号平台 2.扫码登录 3.登录后进行接口信息配置 4.完成以上配置和代码,将代码部署到服务器上,后台就可以接收到公众号的关注.取关.用户发送的消息等等事件拉! 1.访问微信公众号 ...

  6. PHP7.0微信公众平台开发4: 实例一:接收普通消息和接收事件推送

    PHP7.0微信公众平台开发4: 实例一:接收普通消息和接收事件推送 1. API接口的声明 2. PHP脚本代码 3. 运行结果 由于消息类型有多钟,本文中,"接收普通消息"我以 ...

  7. 微信小程序及Java后台测试登录

    微信小程序及Java后台测试登录 文章目录 微信小程序及Java后台测试登录 一.使用的工具以及开发环境 二.微信端登录代码. 第一种方式,使用wx.getUserInfo直接获取微信头像,昵称. 第 ...

  8. 微信小程序与Java后台的通信

    一.写在前面 最近接触了小程序的开发,后端选择Java,因为小程序的代码运行在腾讯的服务器上,而我们自己编写的Java代码运行在我们自己部署的服务器上,所以一开始不是很明白小程序如何与后台进行通信的, ...

  9. Java小程序post如何传参,微信小程序向Java后台传输参数的方法实现

    微信小程序向Java后台传输参数的方法实现 首先,微信小程序我使用的是微信web开发者工具 想要向后台传输数据,需要在js中写 在微信小程序的官方文档中可以看到一个api叫wx.request它的作用 ...

  10. 《微信小程序》微信小程序用java后台连接数据库进行操作。

    微信小程序与Java后台的通信 一.写在前面 最近接触了小程序的开发,后端选择Java,因为小程序的代码运行在腾讯的服务器上,而我们自己编写的Java代码运行在我们自己部署的服务器上,所以一开始不是很 ...

最新文章

  1. Python基础11-函数式编程与内置函数
  2. ==与equals的区别(四个例子简单易懂)附jvm简图
  3. python太难_传说中Python最难理解的点,看这完篇就够了
  4. Crontab命令--Linux
  5. 如何理解 Linux 中的 load averages
  6. I must be strong and carry on
  7. 实验一缓冲区溢出漏洞实验
  8. 机器学习经典损失函数复习:交叉熵(Cross Entropy)和KL散度
  9. 该学学数据结构了,不会数据结构真是寸步难行啊。。。。。
  10. 深度学习系列讲座:谷歌翻译核心技术 Seq2Seq
  11. 地理坐标系转换工具,支持WGS84/GCJ02/BD09等常用坐标系互转
  12. 2pin接口耳机_耳机插头接线示意图
  13. python tkinter输入框_自制tkinter输入框Inputbox类
  14. 采用RP2040 MCU的树莓派Pico迷你开发板介绍
  15. Try tracing
  16. C陷阱篇之char的默认符号
  17. H265跟H264编码效率的一个比较
  18. 小程序流量主广告赚钱
  19. coco数据集大小分类_VOC、COCO数据集类别
  20. 方程组通解的参数向量形式、基本变量和自由变量

热门文章

  1. leetcode_Remove Duplicates from Sorted Array
  2. 移动应用实战(移动OA)之四_会议室管理之一
  3. NGS测序数据和Microarray芯片数据在基因表达中的应用
  4. ios7 未能连接到服务器,完美解决iTunes 未能连接到此 iPhone。发生未知错误(0xe8000003)和0xe8000084...
  5. UMLChina建模竞赛第3赛季第7轮:假烟假酒假朋友,假情假意假温柔
  6. blender动作_Blender实现小人行走
  7. 近期java面试总结
  8. 000webhost免费申请
  9. 线性代数中自由变量为什么取0和1?
  10. phython入门基础