`

微信接入java示例 (使用了jfinal,其他框架自己修改就好)(转)

 
阅读更多

代码地址: 
代码使用了jdom解析和输出xml 
https://github.com/0x0001/java-weixinlib

 

public class WxCtr1 extends Controller {
	
	private static final String TOKEN = "xxxxxx";
	
	public void index() {
		String signature = getPara("signature");
		String timestamp = getPara("timestamp");
		String nonce = getPara("nonce");
		String echostr = getPara("echostr");
		
		if(null != timestamp && null != nonce && null != echostr && null != signature) {
			if(WeiXin.access(TOKEN, signature, timestamp, nonce)) {
				renderHtml(echostr);
				return;
			}
			renderNull();
			return;
		}
		
		try {
			WxRecvMsg msg = WeiXin.recv(getRequest().getInputStream());
			WxSendMsg sendMsg = WeiXin.builderSendByRecv(msg);
			System.out.println(msg);
			
			if(msg instanceof WxRecvEventMsg) {
				WxRecvEventMsg m = (WxRecvEventMsg) msg;
				String event = m.getEvent();
				if("subscribe".equals(event)) {
					String content = "感谢关注";
					sendMsg = new WxSendTextMsg(sendMsg, content);
					WeiXin.send(sendMsg, getResponse().getOutputStream());
					renderNull();
				}
			}
			
			if(msg instanceof WxRecvTextMsg) {
				WxRecvTextMsg m = (WxRecvTextMsg) msg;
				
				String text = m.getContent();
				if(null != text) 
					text = text.trim();
				
				Set<String> keyworkds = new HashSet<String>();
				keyworkds.add("1");
				keyworkds.add("菜单");
				keyworkds.add("menu");
				
				
				if(keyworkds.contains(text)) {
					String content = "1. 菜单\n2.音乐\n,3.图文\n";
					sendMsg = new WxSendTextMsg(sendMsg, content);
					
				} else if("2".equals(text)) {
					sendMsg = new WxSendMusicMsg(sendMsg, "夜夜夜夜","林志炫",
							"http://hugemaxiao.co/COFFdD0xMzY1Njg5NTIyJmk9MTIxLjM0LjMxLjMmdT1Tb25ncy92MS9mYWludFFDLzQ3LzkxMGFlM2JjMzM5MDNlZGI3NmY3MDUzY2ZjZDI1YjQ3Lm1wMyZtPTMzMWQwNGY2YTNkNTRiNTMwYzc1MjhkN2FmNDRhMGZjJnY9ZG93biZuPdK50rnSudK5JnM9wdbWvuzFJnA9cw==.mp3", 
							"http://hugemaxiao.co/COFFdD0xMzY1Njg5NTIyJmk9MTIxLjM0LjMxLjMmdT1Tb25ncy92MS9mYWludFFDLzQ3LzkxMGFlM2JjMzM5MDNlZGI3NmY3MDUzY2ZjZDI1YjQ3Lm1wMyZtPTMzMWQwNGY2YTNkNTRiNTMwYzc1MjhkN2FmNDRhMGZjJnY9ZG93biZuPdK50rnSudK5JnM9wdbWvuzFJnA9cw==.mp3");
				} else if("3".equals(text)) {
					sendMsg = new WxSendNewsMsg(sendMsg)
					.addItem("图片4", "描述4", "http://g.hiphotos.baidu.com/album/w%3D230/sign=b2b8791418d8bc3ec60801c9b28ba6c8/1ad5ad6eddc451da5ff2c0c5b7fd5266d016329c.jpg", "http://www.oschina.net")
					.addItem("图片1", "描述1", "http://a.hiphotos.baidu.com/album/w%3D230/sign=67afac3d242dd42a5f0906a8333a5b2f/8c1001e93901213f088bb78855e736d12f2e952e.jpg", "http://www.google.com")
					.addItem("图片2", "描述2", "http://e.hiphotos.baidu.com/album/w%3D230/sign=5254e9265243fbf2c52ca120807eca1e/77c6a7efce1b9d1669f2564ff2deb48f8c5464e3.jpg", "http://www.baidu.com")
					.addItem("图片3", "描述3", "http://d.hiphotos.baidu.com/album/w%3D230/sign=c3b3fe3aaa18972ba33a07c9d6cc7b9d/3812b31bb051f81995bdc164dbb44aed2e73e700.jpg", "http://www.sina.com")
					;
				}  else {
					String content = "1. 菜单\n2.音乐\n,3.图文\n";
					sendMsg = new WxSendTextMsg(sendMsg, content);
				}
				WeiXin.send(sendMsg, getResponse().getOutputStream());
				renderNull();
				return;
			}  else {
				String content = "1. 菜单\n2.音乐\n,3.图文\n";
				sendMsg = new WxSendTextMsg(sendMsg, content);
				WeiXin.send(sendMsg, getResponse().getOutputStream());
				renderNull();
				return;
			}
		} catch (JDOMException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		renderNull();
	}
}

 

 

学习了。

分享到:
评论

相关推荐

    jfinal-jfinal-weixin-master.zip 基于maven jfinal 的微信公众号/小程序开发demo

    jfinal-jfinal-weixin-master.zip 基于maven jfinal 的微信公众号/小程序开发demo

    基于JFinal的微信公众号极速开发SDK设计源码

    JFinal Weixin - 基于JFinal的微信公众号极速开发SDK,包含698个文件,如HTML、JAVA、JS、TXT、JSP、XML、MD、PROPERTIES和JSON等。该SDK提供了一站式的微信公众号开发解决方案,支持多公众号管理,开发者可以通过...

    JFinal框架在Java Web开发中的应用.pdf

    JFinal是一个专门为Java Web开发打造的轻量级MVC框架,具有国产化、开源化的特点,它是由陆文瑞、卢盼娜和王彦婕等人在山西信息产业技术研究院有限公司进行研究和应用的。JFinal的特点在于它的便捷性、高效性和设计...

    基于 coolq-http-api 的 java sdk, 使用 JFinal 框架.zip

    其中,`config` 文件夹可能包含了 JFinal 的配置文件,`src/main/java` 目录下则是 Java 代码,可能包含了 SDK 的实现和 JFinal 的控制器,而 `docs` 或 `README.md` 文件则可能提供了项目的使用说明和示例代码。...

    JAVA语言的MVC架构之一:JFinal框架教程

    JAVA语言JFinal框架教程 JAVA语言的MVC架构,你只会使用structs和Spring MVC吗?来学学JFinal吧

    JFinal技术框架解析

    JFinal是一个基于Java语言的Web开发框架,具有轻量级、灵活、可扩展等特点。本文将对JFinal技术架构进行浅析,并对其空间架构、逻辑架构、代码架构和运作原理进行详细介绍。 空间架构 JFinal框架采用微内核全方位...

    基于Java的JFINAL微信集合体项目源码分享

    该项目是一款基于Java的JFINAL微信集合体项目源码,汇集了1329个文件,涵盖HTML、JavaScript、Java、CSS、C#和PHP等多语言开发资源。...该集合体是JFINAL框架的首次应用尝试,旨在构建一个功能丰富的微信应用平台。

    基于jfinal框架扩展的微信消息后台管理设计源码

    该项目是一款基于Jfinal框架扩展的微信消息后台管理设计源码,包含2107个文件,涵盖549个JavaScript脚本、187个Java源代码文件、335个PNG图片、175个LESS样式表、166个HTML文件、126个CSS样式文件、109个JPG图像、...

    Jfinal框架

    在提供的压缩包文件`JFinal`中,可能包含了JFinal框架的示例代码,这些代码通常会涵盖如何创建Controller、Model、Service以及视图模板等内容,展示了如何使用JFinal进行基本的Web开发。通过对这些示例的学习,你...

    基于JFinal框架的Java Web应用开发研究.pdf

    "基于JFinal框架的Java Web应用开发研究" 基于JFinal框架的Java Web应用开发研究是指在Java Web应用开发中,选择合理的开发框架对Java Web应用系统的开发至关重要。常见的Java Web开发框架像Struts、Spring、...

    jfinal框架的使用

    JFinal 是一个基于Java的轻量级Web开发框架,它以“简单、高效”为设计理念,致力于提供快速的开发体验。JFinal 的核心模块包括控制器、模型、视图、插件等,帮助开发者简化开发流程,提高开发效率。在Javaweb开发中...

    国产开源java框架JFinal 实例入门源码

    标题中的"国产开源java框架JFinal 实例入门源码"表明了这是一个关于使用JFinal框架的入门教程,其中包含了源代码。JFinal是一个由中国开发者开发的轻量级Java Web开发框架,它以简洁、高效著称。这里的"实例入门...

    使用jfinal框架头像裁剪上传

    本文将详细讲解如何使用Java的轻量级Web框架JFinal来实现这一功能,结合HTML和JavaScript技术,让用户能够上传图片,预览,并进行裁剪,最后将裁剪后的图片保存到服务器。 首先,我们需要理解JFinal框架。JFinal是...

    【Java框架】以JFinal为底层的java基础后台框架.zip

    【Java框架】以JFinal为底层的java基础后台框架.zip Paladin是啥? 它是一个以JFinal为底层的java基础后台框架。 结合了以下第三方组件: Beetl、Druid、Shiro、Ehcache(JFinal自带有工具类)。 界面使用的拼图的...

    基于Java的JFinal极速WEB+ORM框架设计源码

    本项目是基于Java开发的JFinal极速WEB+ORM框架设计源码,主要使用Java进行开发。项目共包含452个文件,其中Java源代码文件440个,JFinal框架配置文件4个,文本文件3个,XML配置文件2个,Git忽略配置文件1个,项目...

    JFinal Weixin 是基于 JFinal 的微信公众号极速开发 SDK

    JFinal Weixin 是基于 JFinal 的微信公众号极速开发 SDK

    jfinal 微信开发

    jfinal针对微信开发进行的DEMO程序

    基于JFinal框架的Java EE应用研究.pdf

    在这篇研究论文中,作者探讨了使用JFinal框架来开发Java EE应用的可行性,并将其与传统的S2SH框架进行了比较。下面我将详细介绍论文中所涉及的关键知识点。 首先,论文中提到了传统的基于S2SH(Struts、Spring、...

    基于Jfinal框架的微信小程序开发源码,红安人公众号演示

    本项目为基于Jfinal框架的微信小程序开发源码,适用于“红安人”微信公众号。源码包含共计2000个文件,涵盖491个JavaScript文件、296个Java类文件、256个HTML文件、238个PNG图片文件、165个CSS文件、153个JPG图片...

Global site tag (gtag.js) - Google Analytics