http://blog.csdn.net/lyq8479/article/details/8937622
方法就是柳峰老师发的教程,jfinal的区别就是核心servlet的处理可以用拦截器结合controller实现。
1.定义一个验证请求的拦截器
public class CoreFilterInterceptor implements Interceptor { // 验证请求来源拦截器 public void intercept(ActionInvocation ai) { Controller c = ai.getController(); String signature = c.getPara("signature"); // 时间戳 String timestamp = c.getPara("timestamp"); // 随机数 String nonce = c.getPara("nonce"); // 随机字符串 String echostr = c.getPara("echostr"); // 通过检验signature对请求进行校验,若校验成功则原样返回echostr,表示接入成功,否则接入失败 if (SignUtil.checkSignature(signature, timestamp, nonce)) { c.renderText(echostr); ai.invoke(); } } }
2.核心方法,就是微信公众平台服务器配置里的URL地址:
@ControllerBind(controllerKey = "/weixin") public class WeixinController extends Controller { // 核心-处理请求 @Before(CoreFilterInterceptor.class) public void coreFilter() { // 调用核心业务类接收消息、处理消息 String respMessage = CoreService.processRequest(getRequest()); // 响应消息 renderText(respMessage); } }
3.微信公众平台服务器配置:
URL http://服务器ip/weixin/coreFilter Token weixin
4.其他可以照搬原文章的内容
原文:http://my.oschina.net/stu51/blog/287997