java 微信回复图片_java微信开发之接受消息回复图片或者文本

上回说到 接口连接成功,接下来是真正的开发了。

消息的接收,整个过程就是关注订阅号的用户在微信订阅号中发送消息,微信服务器接收到消息,将消息发给开发者的服务器,服务器接收消息然后可以根据内容进行回复。

上代码,同样是在weixin.java的servlet中doPOst方法中接收消息

目录

th1qaDvUcCL4adUxaJ9nFUgLh8Igbp5XP+4br06EUbPqOBg1ruuPIZStf0hwkGzBcJD8B2InY9qdnVVrAAAAAElFTkSuQmCC

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

//接收微信服务器传来的报文

request.setCharacterEncoding("utf-8");

String notityXml = "";

String inputLine;

try {

while ((inputLine = request.getReader().readLine()) != null) {//将消息一行行读入

notityXml += inputLine;//将一行行的 xml数据存入字符串中

}

request.getReader().close();

} catch (Exception e) {

e.printStackTrace();

}

System.out.println("接收到的报文:" + notityXml);//下面是对xml报文你的解析

Map m = parseXmlToList2(notityXml);//该函数将xml报文的项和值存入map数组中

System.out.println("接收的用户消息:"+m.get("Content").toString());

String receive=m.get("Content").toString();//得到用户输入的内容

//将接收xml格式的字符串存入map 数组中

private static Map parseXmlToList2(String xml) {

Map retMap = new HashMap();

try {

StringReader read = new StringReader(xml);

// 创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入

InputSource source = new InputSource(read);

// 创建一个新的SAXBuilder

SAXBuilder sb = new SAXBuilder();

// 通过输入源构造一个Document

Document doc = (Document) sb.build(source);

Element root = doc.getRootElement();// 指向根节点

List es = root.getChildren();

if (es != null && es.size() != 0) {

for (Element element : es) {

retMap.put(element.getName(), element.getValue());

}

}

} catch (Exception e) {

e.printStackTrace();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值