微信公众平台开发 - 动手篇。使用weinxinFundation开始一个微信公众平台的开发
本文主要讲解如何使用 weinxinFundation 进行二次开发。
步骤如下:
1.创建新的web项目。
在eclipse里新建一个dynamicly web project,比如本文叫weixinDemo
2.引用weinxinFundation
获得weinxinFundation的方法: 参考我的另一篇文章:http://www.cnblogs.com/vir56k/p/3664181.html
有两种引用方式:1).如果你拿到的是个jar包,请按常规方式引用,程序员都知道。2).如果你拿到的是源代码,请参考我的另一篇文章:http://www.cnblogs.com/vir56k/p/3778414.html
3.进入微信公众平台的后台,修改 token ,获得 appid和secret.
3.1).进入微信公众平台的后台页面:https://mp.weixin.qq.com/
3.2).找到“开发者ID” 下的 AppId 和 AppSecret 并记录下来,后面要用到。
3.3). 在 “服务器配置” 部分,设置 URL 和 Token,其中
URL是你后面要发布的sevlet的地址,比如:http://xxx.xxx.xxx.xxx/weinxinDemo/WeixinSvc,
注释:这里xxx.xxx.xxx.xxx是你的IP或者域名,weinxinDemo是 你的网站webSite的名称,WeixinSvc 是 sevlet的名称。
Token 是用于认证的标记,可以随便设置,不过要记下下来,后面要用。
注释:在演示中,我使用helloweixin作为我的token
4.建立一个新的servlet(集成自WeixinBaseServlet)用于接收 “来自微信服务的web调用”。
创建新的servLet,名字是WeixinSvc。注意这里和上一步里的 3.3 里的servlet名称相同。这个servlet集成自:WeixinBaseServlet,示例代码如下:
package weixinmobile.services;import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import weixinFundation.core.common.WeixinBaseServlet; import weixinFundation.core.common.WeixinContext;/*** 用于和 腾讯微信 交互的的servlet*/ @WebServlet("/WeixinSvc") public class WeixinSvc extends WeixinBaseServlet {/*** @see HttpServlet#HttpServlet()*/public WeixinSvc() {super();}@Overrideprotected WeixinContext onInitWeixinContext() {return new WeixinContextImpl();}}
View Code
上面的代码写了一个WeixinContextImpl ,这里使用了一些“上下文配置信息”,我们下面实现它。
package weixinmobile.services;import weixinFundation.core.common.LinkedMessageWeixinContext; import weixinmobile.services.handlers.EventMessageHandler; import weixinmobile.services.handlers.TextMessageHandler;public class WeixinContextImpl extends LinkedMessageWeixinContext{public static final String Token = "helloweixin";public static final String appID = "你的appid";public static final String appsecret = "你的appsecret";@Overridepublic void onCreate() {addHander(new TextMessageHandler());addHander(new EventMessageHandler());}@Overridepublic String getToken() {return Token;}}
View Code
上面的代码的onCreate加载了两个消息处理器,如下:
addHander(new TextMessageHandler()); //用于处理 字符文本消息的处理
addHander(new EventMessageHandler()); //用于处理 事件的消息处理
TextMessageHandler 和 EventMessageHandler 都继承自 WeixinMessageHandler
根据你的业务需要,你可以自定义这些消息的处理方式,你的主要业务,代码逻辑会集中在你自定义的Handler里。
在你自定义的Handler处理 来自 手机发来的消息或者点击事件,用户关注事件等,在这里可以对他们进行回复。
5.配置和使用 菜单
根据目前的规则,服务号才有菜单,你需要在 进入微信公众平台的后台开启它。
下面是根据我的 演示项目 weixinDemo里 创建菜单的方式,
进入我们的项目代码,创建一个 src/menu.txt 这里使用json描述了菜单,你根据自己的需要修改它。
你会看到有个 MenuSvc 的servlet,我在这个servlet里写了,自动获得认证,读取刚刚 menu. txt文件内容发送到微信后台的方法。
你需要在浏览器里执行者个servlet,格式如下:..../MenuSvc?a=create 就OK 了。这个MenuSvc 是我为了方便创建菜单写的,建议在正式发布时删除这个MenuSvc 以确保安全。
6.发布
经编译好的代码,部署在Tomcat下,确保外网通畅,大功告成。你就可以关注你自己的微信公众号了。
我的其他文章:
微信公众平台开发 - 基础篇
微信公众平台开发 - 动手篇。使用weinxinFundation开始一个微信公众平台的开发
微信公众平台开发 - 动手篇。使用weinxinFundation开始一个微信公众平台的开发相关推荐
- ➢ 微信公众号运营教程(一)申请一个微信公众号
➢ 微信公众号运营教程(一)申请一个微信公众号 我们要创建一个个人公众号,首先需要申请一个公众号. 下面详细说说申请过程. 注册地址:https://mp.weixin.qq.com/ 或者直接搜索: ...
- iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(一)
iOS开发UI篇-使用UItableview完成一个简单的QQ好友列表(一) 一.项目结构和plist文件 二.实现代码 1.说明: 主控制器直接继承UITableViewController // ...
- 【微信小程序控制硬件⑦ 进阶篇】巧借阿里云物联网平台的免费连接,从微信小程序颜色采集控制 esp8266 输出七彩灯效果,中秋节来个直播如何?!
[微信小程序控制硬件第1篇 ] 全网首发,借助 emq 消息服务器带你如何搭建微信小程序的mqtt服务器,轻松控制智能硬件! [微信小程序控制硬件第2篇 ] 开始微信小程序之旅,导入小程序Mqtt客户 ...
- 微信小程序是什么?如何快速搭建一个微信小程序?
目录 一.微信小程序是什么 二.安全管理 三.微信小程序的功能 四.快速开发一个微信小程序APP 1.集成即构实时音视频SDK 2.初始化SDK引擎 3.创建房间与登录房间 4.房主创建房间 5.推流 ...
- 测试开发成长学习路线--如何做一个DevOps流水线上的开发测试
大家知道,测试开发或者开发测试范围很大,一个人的精力和你当前的项目经历,决定了你属于某一个领域的具体的测试开发的工作.在这里,我不纠结测试开发和开发测试有何不同,有一个叫法罢了.今天这里要讨论的是如何 ...
- python微信图标制作_30行Python代码来绘制一个微信图标
有一句至理名言说得好"Python除了不会生孩子,什么都能干"(当然这句话还有很多版本,比如MATLAB.Excel......),而今天小编就再次证明一下这个观点--用Pytho ...
- 使用 MEAN 进行全栈开发基础篇——2、弄一个简单的用户管理试试
搭建项目 这下我们应该来搭建一个项目了,随便起个名字 ForUsers 找一个合适的位置,然后打开命令行:express ForUsers 会得如下树状图的结构 ├── app.js ├── bin ...
- iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(二)
一.实现效果 二.实现代码 1.数据模型部分 YYQQGroupModel.h文件 1 // 2 // YYQQGroupModel.h 3 // 02-QQ好友列表(基本数据 ...
- 微信小程序页面静态页是html,制作一个微信小程序中的静态页面
要求: 1. 进入开发者工具并且创建一个测试小程序, 选择建立快速模板 2. 在pages目录底下新建一个first的文件夹,其中包括指定的四个文件,并且设置第一个页面为first页面 3.在firs ...
最新文章
- 复杂性理论研究的核心问题是什么
- Docker安装mysql容器
- JS判断页面控件是否可用
- boost::hana::extract用法的测试程序
- 电脑知识:关于电脑的十大误区,原来是这样!
- sublime python配置运行
- 【eoe 1】获取Android源代码
- DNN群宗旨--QQ群(DNN山海经):56782274
- java开发和安卓开发_Android开发和Java开发有什么区别
- PLC接入工业互联网解决方案
- Easy RM to MP3 Converter漏洞分析报告
- php自我介绍50字,简短自我介绍50字
- 智能手表是java的_PerfDog性能狗实测智能手表性能
- 转眼间十年过去了,还记得曾经红遍大江南北的这首歌吗?
- Uva_156 Ananagrams ( map 的应用 )
- 教你们如何快速建立一个完美的python项目
- hive笔记(与上一偏 《hadoop集群搭建》结合)
- redis的lrange_Redis Lrange 命令 - Redis 教程 - 自强学堂
- 智慧小区弱电智能化设计方案(小区对讲系统和停车管理系统)
- sqlite数据库的加密与解密