最代码官方
2015-01-07 16:58:38
原证
springmvc开发微信公众平台验证token接口教程及其java源代码分享
今天研究了下微信公众平台的接入机制,给大家分享下相关的经验和代码。
首先需要在微信公众平台的后台修改开发者中心的配置:
如下图
步骤2
点击提交后会带验证参数请求你填写的URL,如下nginx会接受到类似请求:
springmvc实现代码如下:
WeixinController.java
package com.javaniu.www.controller; import java.io.IOException; import java.io.PrintWriter; import java.util.Arrays; import javax.servlet.http.HttpServletResponse; import org.apache.commons.codec.digest.DigestUtils; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import com.javaniu.core.constants.GlobalConstants; import com.javaniu.core.controller.BaseController; /** * *@author zuidaima 2015-01-07 22:27:22 */ @Controller @RequestMapping("weixin") public class WeixinController extends BaseController { @RequestMapping(value = { "signature" }, method = RequestMethod.GET) public void signature( @RequestParam(value = "signature", required = true) String signature, @RequestParam(value = "timestamp", required = true) String timestamp, @RequestParam(value = "nonce", required = true) String nonce, @RequestParam(value = "echostr", required = true) String echostr, HttpServletResponse response) throws IOException { String[] values = { GlobalConstants.WEIXIN_TOKEN, timestamp, nonce }; Arrays.sort(values); // 字典序排序 String value = values[0] + values[1] + values[2]; String sign = DigestUtils.shaHex(value); PrintWriter writer = response.getWriter(); if (signature.equals(sign)) {// 验证成功返回ehcostr writer.print(echostr); } else { writer.print("error"); } writer.flush(); writer.close(); } }
注意sha1加密算法用的是apache的commons codec,需要在maven中加入依赖:(其他springmvc的maven依赖请参考我分享过的其他项目)
<dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.10</version> </dependency>
或者通过http://www.findjar.com搜索
猜你喜欢
- spring boot微信公众号开发案例
- 微信公众账号开发接口实现 - java servlet
- java基于微信公众号接口开发的入门Demo实例
- java实现获取微信公众服务号消息
- html5实现政府微信公众号手机网站模板
- springmvc @RequestMapping注解的入门配置教程
- 基于浏览器首选语言的springmvc和freemarker国际化配置的实现
- 基于maven与springMVC的拦截器Interceptor,控制器Controller的使用
- springmvc @RequestMapping注解伪静态技术
- SpringMVC的三种统一异常处理实例代码分享
- SpringMVC整合Redis demo小例子
- bootstrap jquery underscore backbone 新浪微博 springmvc整合demo代码
请下载代码后再发表评论
相关代码
- 证精 基于浏览器首选语言的springmvc和freemarker国际化配置的实现
- 原 基于maven与springMVC的拦截器Interceptor,控制器Controller的使用
- springmvc @RequestMapping注解的入门配置教程
- 精 SpringMVC的三种统一异常处理实例代码分享
- 证精 bootstrap jquery underscore backbone 新浪微博 springmvc整合demo代码
- 精 spring mvc-showcase,便于学习springmvc,maven工程,建议使用谷歌浏览器
- 原证精 springmvc @RequestMapping注解伪静态技术
- 原 springMVC注解与hibernate完美结合完成基本的增删改查demo源码下载
- 原 SpringMVC整合Redis demo小例子
- 原证精 java Web SpringMVC项目实现12306余票查询功能
- 原 SpringMvc整合Mybatis搭建java Web入门项目实例,是基于MAVEN的java web工程
- SpringMvc从propertites属性文件读取常量
最近下载
最近浏览
156260641401 LV1
4月9日
微信网友_6561552570798080 LV1
2023年7月14日
jerryPang LV1
2023年6月28日
solocare LV4
2023年5月29日
zzhua195 LV6
2023年5月29日
百年孤独嘟嘟嘟 LV4
2023年5月29日
不止是六位数 LV7
2023年3月21日
yenairong LV6
2023年2月11日
浪里格朗 LV4
2023年1月31日
林间听风 LV10
2023年1月12日