java 微信自动回复功能开发

准备文件:

JCE无限制权限策略文件,里面是对应jdk6和7的文件
官网下载地址是http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html和http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html

下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt。

如果安装了JRE,将两个jar文件放到%JRE_HOME%\lib\security下覆盖原来文件,记得先备份。

如果安装了JDK,将两个jar文件也放到%JDK_HOME%\jre\lib\security下。

一、开发平台

myeclipse 9 ,mysql 5.6 ,微信认证服务号。

利用servlet技术开发微信自动回复功能。

本人利用ant123映射,利用ant提供的二级域名,搭建本地开发平台进行开发。

二、公众号设置:

三、开发步骤

1、编写servlet类,利用myeclipse 生成一个servlet类

处理servlet类中的doget方法:

处理servlet类中的dopost方法:

2、编写service类

2、编写CoreService类

/**
* 处理微信发来的请求

* @param request
* @return
*/
public static String handleMessage(Map<String, String> requestMap)throws Exception{
String respContent="";
try {
// 发送方帐号(open_id)
String fromUserName = requestMap.get("FromUserName");
// 公众帐号
String toUserName = requestMap.get("ToUserName");
// 消息类型
String msgType = requestMap.get("MsgType");

TextMessage tm =new TextMessage();
tm.setToUserName(fromUserName);
tm.setFromUserName(toUserName);
tm.setCreateTime(new Date().getTime());
tm.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_TEXT);
// 文本消息
if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_TEXT)) {
String content = requestMap.get("Content");
if (content.startsWith("人工客服")) {

} else {
respContent = "您发送的是文本消息!";
}
}
// 图片消息
else if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_IMAGE)) {
respContent = "您发送的是图片消息!";
}
// 地理位置消息
else if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_LOCATION)) {
respContent = "您发送的是地理位置消息!";
}
// 链接消息
else if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_LINK)) {
respContent = "您发送的是链接消息!";
}
// 音频消息
else if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_VOICE)) {
respContent = "您发送的是音频消息!";
}
// 事件推送
else if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_EVENT)) {
// 事件类型
String eventType = requestMap.get("Event");
// 订阅
if (eventType.equals(MessageUtil.EVENT_TYPE_SUBSCRIBE)) {
String ticket = requestMap.get("Ticket");
if (ticket != null && !"".equals(ticket)) {
respContent = "谢谢您的关注!,你的ticket是:" + ticket;
} else {
respContent = "谢谢您的关注!";
}

}
// 取消订阅
else if (eventType.equals(MessageUtil.EVENT_TYPE_UNSUBSCRIBE)) {
// TODO 取消订阅后用户再收不到公众号发送的消息,因此不需要回复消息
}
// 自定义菜单点击事件
else if (eventType.equals(MessageUtil.EVENT_TYPE_CLICK)) {
// TODO 自定义菜单权没有开放,暂不处理该类消息
String eventKey = requestMap.get("EventKey");
if ("language".equalsIgnoreCase(eventKey.trim())) {

}
} else if (eventType.equals("SCAN")) {
String eventKey = requestMap.get("EventKey");
String ticket = requestMap.get("Ticket");
respContent = "你的ticket是:" + ticket;
}
}
tm.setContent(respContent);
return MessageUtil.textMessageToXml(tm); 
} catch (Exception e) {
e.printStackTrace();
}
return "";
}

四、说明

经过以上编号代码步骤,及处理jdk的JCR无限制权限策略方法后,

支持微信的明文模式和安全模式。

五、总结

本人利用时间开发java的微信自动回复功能,已取得满意的结果。

下一步将在此代码的基础上,配合功能,完善系统。

如有和我一样想学习的同仁,可与我联系,QQ22832054。

java 微信自动回复功能开发相关推荐

  1. java微信自动回复机器人开发(java微信开发学习笔记3)

    微信自动回复机器人原理很简单,获取用户发送到后台的数据,然后调用机器人的api进行回复即可.我使用的茉莉机器人,官网地址如下: http://www.itpk.cn/ 茉莉机器人的api:http:/ ...

  2. 微信 SHA1 签名_微信公众号自动回复功能开发

    微信公众号自动回复功能开发 本篇主要讲解 微信公众号自动回复功能开发,让我们自己去托管公众号回复的功能,这样可以更加灵活的根据公众号收到的信息来制定特定的回复信息,一起来了解吧! 1.注册公众号 如果 ...

  3. MPSDK4J 是JAVA微信公平台开发SDK,没有复杂的功能,一切源于微信API,愿你会喜欢使用。-- 题记

    MPSDK4J 是JAVA微信公平台开发SDK,没有复杂的功能,一切源于微信API,愿你会喜欢使用.-- 题记 1.介绍 MPSDK4J,非常直观的阐述了此项目的意义所在.没错,它就是JAVA语言环境 ...

  4. 如开开发一个微信自动回复功能

    可以使用微信公众平台的 API 来开发微信自动回复功能.首先,需要在微信公众平台上注册一个账号,并创建一个公众号.然后,可以使用微信公众平台提供的 API 来实现对消息的自动回复. 具体来说,可以使用 ...

  5. 慕课网_《Java微信公众号开发进阶》学习总结

    时间:2017年08月12日星期六 说明:本文部分内容均来自慕课网.@慕课网:http://www.imooc.com 教学源码:http://img.mukewang.com/down/... 学习 ...

  6. Java微信公众号开发梳理

    Java微信公众号开发梳理 现在微信公众平台的开发已经越来越普遍,这次开发需要用到微信公众平台.因此做一个简单的记录,也算是给那些没踩过坑的童鞋一些启示吧.我将分几块来简单的描述一下,之后会做详细的说 ...

  7. 微信公众号开发,微信支付功能开发(网页JSAPI调用)

    1.微信支付的流程 如下三张手机截图,我们在微信网页端看到的支付,表面上看到的是 "点击支付按钮 - 弹出支付框 - 支付成功后出现提示页面",实际上的核心处理过程是: 点击支付按 ...

  8. Java微信公众号开发微信网页授权之前端传递code方式获取用户信息

    本片博客讲解的网页授权分为两步,前端先传递backUrl(回调地址)到后台网页授权接口,该接口拿到回调地址后组装授权连接,重定向到前端页面,前端页面截取Code,传入后端获取用户信息方法,获取用户信息 ...

  9. Java微信公众号开发(一:接入平台,验证token)

    Java微信公众号开发(一:接入平台,验证token) 开发环境: 环境:JDK1.8 框架:springBoot 首先,在我们接入微信公众平台之前,我们需要注册微信公众号的开发者账号,获取开发者ID ...

最新文章

  1. 【leetcode】974. Subarray Sums Divisible by K
  2. hive数据倾斜的解决办法
  3. HCIA- Datacom认证增加了SDN跟自动化编程
  4. CNN-4: GoogLeNet 卷积神经网络模型
  5. [css] 在rem下如何实现1像素?
  6. mybatis3 添加ehcache支持
  7. java时间随机数_java开发代码工具类(时间戳/随机数/日期等)
  8. Java 蓝桥杯 分解质因数
  9. Ubuntu 下通过 ppa 安装 RabbitVCS
  10. C#设置IP地址,启用禁用适配器
  11. 拼题a答案c语言计算整数各位数字之和,这是小白刷的基础题,跪求大佬帮忙!!!题目:读入一个自然数n...
  12. css字体转换程序(Node.js)
  13. 话里话外:明白比智慧更重要
  14. 【产品】保险业务收付管理系统概要
  15. C/C++/Java 基本数据类型总结
  16. C++中的各种进制转换函数汇总
  17. 解决Excel表格输入身份证号码显示异常的问题
  18. 安卓如何调出软键盘_系统软键盘Android在外接物理键盘时,如何强制调用系统软键盘?...
  19. 程序员常用工具网站汇总(一)
  20. 苹果cms常见100个问题及解决方法

热门文章

  1. 适合计算机编程开发的笔记本电脑推荐
  2. 地图随意搜---情景地图
  3. mac book pro 安装网络准入后经常死机
  4. 51单片机数字时钟套件 DIY散件
  5. 裸奔系列之博科SAN交换机(3)---SAN交换机初始化
  6. 月报总结|2月份Moonbeam最新进展
  7. 我要拿走你的蜡烛 1004
  8. 【原创】WP7向Win8移植遇到的问题及独创性解决方案
  9. 什么是WMS系统,有什么功能?
  10. 卸载神器——IObit Uninstaller