本文主要讲解如何使用 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开始一个微信公众平台的开发相关推荐

  1. ➢ 微信公众号运营教程(一)申请一个微信公众号

    ➢ 微信公众号运营教程(一)申请一个微信公众号 我们要创建一个个人公众号,首先需要申请一个公众号. 下面详细说说申请过程. 注册地址:https://mp.weixin.qq.com/ 或者直接搜索: ...

  2. iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(一)

    iOS开发UI篇-使用UItableview完成一个简单的QQ好友列表(一) 一.项目结构和plist文件 二.实现代码 1.说明: 主控制器直接继承UITableViewController // ...

  3. 【微信小程序控制硬件⑦ 进阶篇】巧借阿里云物联网平台的免费连接,从微信小程序颜色采集控制 esp8266 输出七彩灯效果,中秋节来个直播如何?!

    [微信小程序控制硬件第1篇 ] 全网首发,借助 emq 消息服务器带你如何搭建微信小程序的mqtt服务器,轻松控制智能硬件! [微信小程序控制硬件第2篇 ] 开始微信小程序之旅,导入小程序Mqtt客户 ...

  4. 微信小程序是什么?如何快速搭建一个微信小程序?

    目录 一.微信小程序是什么 二.安全管理 三.微信小程序的功能 四.快速开发一个微信小程序APP 1.集成即构实时音视频SDK 2.初始化SDK引擎 3.创建房间与登录房间 4.房主创建房间 5.推流 ...

  5. 测试开发成长学习路线--如何做一个DevOps流水线上的开发测试

    大家知道,测试开发或者开发测试范围很大,一个人的精力和你当前的项目经历,决定了你属于某一个领域的具体的测试开发的工作.在这里,我不纠结测试开发和开发测试有何不同,有一个叫法罢了.今天这里要讨论的是如何 ...

  6. python微信图标制作_30行Python代码来绘制一个微信图标

    有一句至理名言说得好"Python除了不会生孩子,什么都能干"(当然这句话还有很多版本,比如MATLAB.Excel......),而今天小编就再次证明一下这个观点--用Pytho ...

  7. 使用 MEAN 进行全栈开发基础篇——2、弄一个简单的用户管理试试

    搭建项目 这下我们应该来搭建一个项目了,随便起个名字 ForUsers 找一个合适的位置,然后打开命令行:express ForUsers 会得如下树状图的结构 ├── app.js ├── bin ...

  8. iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(二)

    一.实现效果             二.实现代码 1.数据模型部分 YYQQGroupModel.h文件 1 // 2 // YYQQGroupModel.h 3 // 02-QQ好友列表(基本数据 ...

  9. 微信小程序页面静态页是html,制作一个微信小程序中的静态页面

    要求: 1. 进入开发者工具并且创建一个测试小程序, 选择建立快速模板 2. 在pages目录底下新建一个first的文件夹,其中包括指定的四个文件,并且设置第一个页面为first页面 3.在firs ...

最新文章

  1. 复杂性理论研究的核心问题是什么
  2. Docker安装mysql容器
  3. JS判断页面控件是否可用
  4. boost::hana::extract用法的测试程序
  5. 电脑知识:关于电脑的十大误区,原来是这样!
  6. sublime python配置运行
  7. 【eoe 1】获取Android源代码
  8. DNN群宗旨--QQ群(DNN山海经):56782274
  9. java开发和安卓开发_Android开发和Java开发有什么区别
  10. PLC接入工业互联网解决方案
  11. Easy RM to MP3 Converter漏洞分析报告
  12. php自我介绍50字,简短自我介绍50字
  13. 智能手表是java的_PerfDog性能狗实测智能手表性能
  14. 转眼间十年过去了,还记得曾经红遍大江南北的这首歌吗?
  15. Uva_156 Ananagrams ( map 的应用 )
  16. 教你们如何快速建立一个完美的python项目
  17. hive笔记(与上一偏 《hadoop集群搭建》结合)
  18. redis的lrange_Redis Lrange 命令 - Redis 教程 - 自强学堂
  19. 智慧小区弱电智能化设计方案(小区对讲系统和停车管理系统)
  20. sqlite数据库的加密与解密

热门文章

  1. 服务器otter部署-实现MySql数据同步
  2. 2021年的疫情下的智能车竞赛
  3. 2021年春季学期-信号与系统-第五次作业参考答案-第九小题
  4. 树莓派小车python操作流程--龙邱科技
  5. 第十五届全国大学生智能汽车竞赛华南赛区成绩总结
  6. STC单片机自动下载调试器设计
  7. 全自动STC下载电路设计
  8. python分几种_python有几种类型?
  9. 360浏览器卸载_如何卸载360浏览器,如何卸载360安全浏览器
  10. asp创建mysql表_创建一个数据库,用ASP怎么写?