iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >微信公众平台开发中使用Java如何实现一个消息回复功能
  • 216
分享到

微信公众平台开发中使用Java如何实现一个消息回复功能

java消息回复 2023-05-31 15:05:39 216人浏览 薄情痞子
摘要

本篇文章给大家分享的是有关微信公众平台开发中使用Java如何实现一个消息回复功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。(一)回复文本消息在前面我们已经完成了对消息的分类

本篇文章给大家分享的是有关微信公众平台开发中使用Java如何实现一个消息回复功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

(一)回复文本消息

在前面我们已经完成了对消息的分类和回复消息实体的建立,这里回复文本消息需要用到的就是我们的TextMessage,我们把回复文本消息在【文本消息】类型中给出回复!在我们做消息回复的时候需要设置消息的接收人ToUserName(openid)、消息的发送方FromUserName、消息类型MsgType、创建时间CreateTime以及消息体Content,由于我们我们的消息回复格式是需要为xml,所以最终我们需要将其装换成xml再做返回输出!

首先我们在工具类MessageUtil的代码做出部分修改和添加,实现最后版本为:

package com.cuiyongzhi.wechat.util; import java.io.InputStream;import java.io.Writer;import java.util.HashMap;import java.util.List;import java.util.Map; import javax.servlet.Http.httpservletRequest; import org.dom4j.D ocument;import org.dom4j.Element;import org.dom4j.io.SAXReader; import com.cuiyongzhi.wechat.message.resp.Article;import com.cuiyongzhi.wechat.message.resp.ImageMessage;import com.cuiyongzhi.wechat.message.resp.MusicMessage;import com.cuiyongzhi.wechat.message.resp.NewsMessage;import com.cuiyongzhi.wechat.message.resp.TextMessage;import com.cuiyongzhi.wechat.message.resp.VideoMessage;import com.cuiyongzhi.wechat.message.resp.VoiceMessage;import com.thoughtworks.xstream.XStream;import com.thoughtworks.xstream.core.util.QuickWriter;import com.thoughtworks.xstream.io.HierarchicalStreamWriter;import com.thoughtworks.xstream.io.xml.PrettyPrintWriter;import com.thoughtworks.xstream.io.xml.XppDriver; public class MessageUtil {   public static final String RESP_MESSAGE_TYPE_TEXT = "text";   public static final String RESP_MESSAGE_TYPE_MUSIC = "music";   public static final String RESP_MESSAGE_TYPE_NEWS = "news";   public static final String RESP_MESSAGE_TYPE_Image = "image";   public static final String RESP_MESSAGE_TYPE_Voice = "voice";   public static final String RESP_MESSAGE_TYPE_Video = "video";   public static final String REQ_MESSAGE_TYPE_TEXT = "text";   public static final String REQ_MESSAGE_TYPE_IMAGE = "image";   public static final String REQ_MESSAGE_TYPE_LINK = "link";   public static final String REQ_MESSAGE_TYPE_LOCATION = "location";   public static final String REQ_MESSAGE_TYPE_VOICE = "voice";   public static final String REQ_MESSAGE_TYPE_VIDEO = "video";   public static final String REQ_MESSAGE_TYPE_EVENT = "event";   public static final String EVENT_TYPE_SUBSCRIBE = "subscribe";   public static final String EVENT_TYPE_UNSUBSCRIBE = "unsubscribe";   public static final String EVENT_TYPE_CLICK = "CLICK";   public static final String EVENT_TYPE_VIEW = "VIEW";   public static final String EVENT_TYPE_LOCATION = "LOCATION";   public static final String EVENT_TYPE_SCAN = "SCAN";   @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; }   public static String textMessageToXml(TextMessage textMessage) {  xstream.alias("xml", textMessage.getClass());  return xstream.toXML(textMessage); }   public static String newsMessageToXml(NewsMessage newsMessage) {  xstream.alias("xml", newsMessage.getClass());  xstream.alias("item", new Article().getClass());  return xstream.toXML(newsMessage); }   public static String imageMessageToXml(ImageMessage imageMessage) {  xstream.alias("xml", imageMessage.getClass());  return xstream.toXML(imageMessage); }   public static String voiceMessageToXml(VoiceMessage voiceMessage) {  xstream.alias("xml", voiceMessage.getClass());  return xstream.toXML(voiceMessage); }   public static String videoMessageToXml(VideoMessage videoMessage) {  xstream.alias("xml", videoMessage.getClass());  return xstream.toXML(videoMessage); }   public static String musicMessageToXml(MusicMessage musicMessage) {  xstream.alias("xml", musicMessage.getClass());  return xstream.toXML(musicMessage); }   private static XStream xstream = new XStream(new XppDriver() {  public HierarchicalStreamWriter createWriter(Writer out) {   return new PrettyPrintWriter(out) {    // 对所有xml节点的转换都增加CDATA标记    boolean cdata = true;     @SuppressWarnings("rawtypes")    public void startnode(String name, Class clazz) {     super.startNode(name, clazz);    }     protected void writeText(QuickWriter writer, String text) {     if (cdata) {      writer.write("<![CDATA[");      writer.write(text);      writer.write("]]>");     } else {      writer.write(text);     }    }   };  } });}

--结束END--

本文标题: 微信公众平台开发中使用Java如何实现一个消息回复功能

本文链接: https://www.lsjlt.com/news/226791.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 微信公众平台开发中使用Java如何实现一个消息回复功能
    本篇文章给大家分享的是有关微信公众平台开发中使用Java如何实现一个消息回复功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。(一)回复文本消息在前面我们已经完成了对消息的分类...
    99+
    2023-05-31
    java 消息回复
  • 微信公众平台开发中使用Java挺好实现一个多媒体消息回复功能
    微信公众平台开发中使用Java挺好实现一个多媒体消息回复功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。(一)素材接口图片上传按照之前我们的约定将接口请求的url写入到配置文...
    99+
    2023-05-31
    java 消息回复
  • 微信公众平台开发中使用Java如何实现帐号申请功能
    本篇文章给大家分享的是有关微信公众平台开发中使用Java如何实现帐号申请功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。①登入到微信公众平台,我们到【开发】——>【开发...
    99+
    2023-05-31
    java 帐号申请
  • 微信公众平台开发中使用Java如何实现获取用户的信息
    本篇文章为大家展示了微信公众平台开发中使用Java如何实现获取用户的信息,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。(一)用户微信消息的获取实现在关注者与公众号产生消息交互后,公众号可获得关注者的...
    99+
    2023-05-31
    java 获取用户信息
  • Java微信公众平台开发(4) 回复消息的分类及实体的创建
    前面有说道对接收到微信服务器消息后对消息的分类,当时主要分为普通消息和事件消息,这里我们要讲述的是我们在给用户回复的消息类型,在这里也可以大致分为两类:一种为不需要上传资源到微信服务器的这里成为【普通消息回复】;还有一种需要上传资源到微信服...
    99+
    2023-05-31
    java 消息
  • 利用java怎么实现一个微信公众平台消息接口应用
    利用java怎么实现一个微信公众平台消息接口应用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。具体如下:微信公众平台现在推出自动回复消息接口,但是由于是接口内容...
    99+
    2023-05-31
    java ava
  • 微信公众平台开发使用Java如何实现关联微信的三大平台
    本篇文章为大家展示了微信公众平台开发使用Java如何实现关联微信的三大平台,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。微信公众平台(map.weixin.qq.com)/开放平台(open.wei...
    99+
    2023-05-31
    java 平台
  • 微信公众平台开发使用Java如何实现获取token
    微信公众平台开发使用Java如何实现获取token?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。(一)token的介绍引用:access_token是公众号的全局唯一票据,...
    99+
    2023-05-31
    java token
  • 微信公众平台开发中使用Java如何实现创建一个自定义菜单
    微信公众平台开发中使用Java如何实现创建一个自定义菜单?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。自定义菜单这个功能在我们普通的编辑模式下是可以直接在后台编辑的,但是一旦我...
    99+
    2023-05-31
    java 自定义菜单
  • 微信小程序 | 微信公众平台SpringBoot开发实例 │ 模板消息的应用开发
     在手机微信公众号中输入文本(如“你好”),公众号发送两条模板消息,如下图所示。 1、说明 1●模板消息的基本规则 模板消息用来帮助公众号进行业务通知,是在模板内容中设定参数(参数必须以{ {开头,且以.DATA} }结尾)并在调用时为这...
    99+
    2023-09-20
    微信公众平台 java 开发语言 微信小程序 小程序
  • Android微信公众号开发消息推送功能怎么实现
    这篇文章主要讲解了“Android微信公众号开发消息推送功能怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android微信公众号开发消息推送功能怎么实现”吧!微信公众号简介微信公众...
    99+
    2023-07-05
  • nodejs微信公众号开发之如何实现自动回复各种消息
    这篇文章主要介绍了nodejs微信公众号开发之如何实现自动回复各种消息,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. 被动回复用户消息当...
    99+
    2024-04-02
  • Java如何实现微信公众平台朋友圈分享功能
    这篇文章将为大家详细讲解有关Java如何实现微信公众平台朋友圈分享功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。  其实分享的方法在微信官网有较为详细的文档说明,现就其中一些比较绕的步骤进行总结,有问...
    99+
    2023-05-30
    java
  • Java微信公众平台开发(3) 接收消息的分类及实体的创建
    前面一篇有说道应用服务器和腾讯服务器是通过消息进行通讯的,并简单介绍了微信端post的消息类型,这里我们将建立消息实体以方便我们后面的使用!(一)消息实体基础类package com.cuiyongzhi.wechat.message.re...
    99+
    2023-05-31
    java 接收消息
  • Java微信公众平台开发(9) 关键字回复以及客服接口实现
    我们在微信公众号的后台可以发现微信给我们制定了两种模式,一种是开发者模式(也就是我们一直在做的开发),还有一种模式是编辑模式,然而很蛋疼的是有些功能一旦我们切换到开发者模式下就无法使用了,比较典型的就是关键字回复以及服务器无响应的时候返回的...
    99+
    2023-05-31
    java 关键字
  • 微信公众号开发中使用Java如何实现获取用户的信息
    微信公众号开发中使用Java如何实现获取用户的信息?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。首先需要到微信网站去设置一下,我是直接用的微信测试号。        接口配...
    99+
    2023-05-31
    java 微信公众号 用户信息
  • PHP开发微信公众号:如何实现自动回复
    PHP开发微信公众号:如何实现自动回复微信公众号是企业或个人通过微信平台向用户提供服务、传播信息的重要渠道之一。自动回复是微信公众号功能中的关键点之一,它可以帮助企业快速响应用户的咨询、指引用户进行相关操作,提高用户的满意度和体验。本文将介...
    99+
    2023-10-27
    PHP编程 微信公众号开发 自动回复 PHP开发微信公众号:
  • 如何使用PHP开发微信公众号的支付功能
    如何使用PHP开发微信公众号的支付功能随着移动支付的快速发展,微信支付作为国内最主流的支付方式之一,成为了许多企业和个人必备的支付手段。而在开发微信公众号时,如果能够集成支付功能,将能够为用户提供更便捷的支付方式,也能够为企业带来更多的收益...
    99+
    2023-10-27
    微信公众号 PHP开发 支付功能
  • PHP开发微信公众号:如何实现文章推荐功能
    PHP开发微信公众号:如何实现文章推荐功能,需要具体代码示例随着移动互联网的发展,微信公众号正逐渐成为企业和个人传播信息的重要平台。为了增加用户体验和吸引更多用户,微信公众号的文章推荐功能成为了不可或缺的一部分。本文将介绍如何使用PHP开发...
    99+
    2023-10-26
    微信公众号 PHP开发 文章推荐
  • 微信二次开发中使用Java如何实现一个微信文本消息的请求与发送
    今天就跟大家聊聊有关微信二次开发中使用Java如何实现一个微信文本消息的请求与发送,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。第一步:新建包com.wtz.message.resp...
    99+
    2023-05-31
    java 二次开发
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作