最代码官方
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搜索
猜你喜欢
- 基于浏览器首选语言的springmvc和freemarker国际化配置的实现
- 基于maven与springMVC的拦截器Interceptor,控制器Controller的使用
- spring mvc 学习使用模板 基础教程
- spring mvc实现文件上传功能
- Spring Mvc初学者专用,里面有4套案例!
- Spring MVC多视图配置简单demo实例,支持freemarker、velocity、jsp视图
- Java通过Spring MVC开发的微信公众平台开发框架
- spring mvc注解代码实例教程
- spring mvc如何将form表单中的对象类型绑定
- SpringMVC的三种统一异常处理实例代码分享
- spring3.0 mvc和rest风格的小例子配置demo代码教程
- Spring MVC+apache Shiro框架搭建,基于maven构建
请下载代码后再发表评论
相关代码
- 证精 基于浏览器首选语言的springmvc和freemarker国际化配置的实现
- 原 基于maven与springMVC的拦截器Interceptor,控制器Controller的使用
- spring mvc 学习使用模板 基础教程
- spring mvc实现文件上传功能
- 原证 Spring Mvc初学者专用,里面有4套案例!
- 原证 Spring MVC多视图配置简单demo实例,支持freemarker、velocity、jsp视图
- spring mvc注解代码实例教程
- 原证精 spring mvc如何将form表单中的对象类型绑定
- 精 SpringMVC的三种统一异常处理实例代码分享
- spring3.0 mvc和rest风格的小例子配置demo代码教程
- 原 Spring MVC+apache Shiro框架搭建,基于maven构建
- 待 Spring学习笔记之Spring MVC 入门教程
最近下载
最近浏览
156260641401 LV1
2024年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日