@JFinal 你好,想跟你请教个问题:
我在做jfinal weixin与springmvc集成的问题的时候遇到的问题,http://aboutme.ngrok.cc/weixin/msg,当我在IE下这样访问时不成功,在微信公众平台测试号上接口配置时也不成功,URL token确认是正确的,a_little_config.txt文件也对应有,并且在启动的时候 DEBUG看加载成功了的,以下是各个配置及JAVA文件,麻烦帮看看具体是哪儿的问题?
同时问一下。Jfinal及Jfinal weixin的文档没有吗?只能通过 看源码学习?
<!-- 整合JFinal weixin --> <filter> <filter-name>jfinal</filter-name> <filter-class>com.jfinal.core.JFinalFilter</filter-class> <init-param> <param-name>configClass</param-name> <param-value>cn.meyboso.platform.weixin.jfinal.JfinalWeixinConfig</param-value> </init-param> </filter> <filter-mapping> <filter-name>jfinal</filter-name> <url-pattern>/weixin</url-pattern> </filter-mapping>
public class JfinalWeixinConfig extends JFinalConfig { public void configConstant(Constants me) { PropKit.use("a_little_config.txt"); me.setDevMode(PropKit.getBoolean("devMode", false)); // ApiConfigKit 设为开发模式可以在开发阶段输出请求交互的 xml 与 json 数据 ApiConfigKit.setDevMode(me.getDevMode()); // 默认使用的jackson,下面示例是切换到fastJson // me.setJsonFactory(new FastJsonFactory()); } public void configRoute(Routes me) { me.add("/weixin/msg", WeixinMsgController.class); // me.add("/api", WeixinApiController.class, "/api"); // me.add("/pay", WeixinPayController.class); } public void configPlugin(Plugins me) { // 1.5 之后支持redis存储access_token、js_ticket,需要先启动RedisPlugin // RedisPlugin redisPlugin = new RedisPlugin("weixin", "127.0.0.1"); // me.add(redisPlugin); } public void configInterceptor(Interceptors me) { } public void configHandler(Handlers me) { } public void afterJFinalStart() { // 1.5 之后支持redis存储access_token、js_ticket,需要先启动RedisPlugin // ApiConfigKit.setAccessTokenCache(new RedisAccessTokenCache()); // 1.6新增的2种初始化 // ApiConfigKit.setAccessTokenCache(new // RedisAccessTokenCache(Redis.use("weixin"))); // ApiConfigKit.setAccessTokenCache(new // RedisAccessTokenCache("weixin")); } }
/** * 将此 DemoController 在YourJFinalConfig 中注册路由, 并设置好weixin开发者中心的 URL 与 token ,使 * URL 指向该 DemoController 继承自父类 WeixinController 的 index * 方法即可直接运行看效果,在此基础之上修改相关的方法即可进行实际项目开发 */ public class WeixinMsgController extends MsgControllerAdapter { public static String nearbyContent;// 附近 public static String location;// 地理位置114.037125,22.645319 public static String weahterContent; public String Regex = "[\\+ ~!@#%^-_=]?"; static Log logger = Log.getLog(WeixinMsgController.class); private static final String helpStr = "么么哒 美女等你好久了哦!! \n\n\t发送 help 可获得帮助,发送 \"美女\" 可看美女,发送 music 可听音乐 。\n\n" + "1、人脸识别" + "\n" + "2、在线翻译" + "\n" + "3、天气查询" + "\n" + "4、公交查询" + "\n" + "5、手机归属地查询" + "\n" + "6、身份证查询" + "\n" + "7、附近查询" + "\n" + "8、开发者模式" + "\n" + "9、QQ咨询" + "\n\n" + "10、获取资料密码" + "\n\n" + "公众号功能持续完善中\n\n" + "微信交流群:<a href=\"http://shang.qq.com/wpa/qunwpa?idkey=7f176ad0cd979c3a7e6ceeab0207a5bfc39ddcf0ad8b3552696e09f04867b245\">114196246</a>\n\n" + "<a href=\"http://wx.wsq.qq.com/170814115\">我的社区>有问必答</a>\t\n\n" + " <a href=\"http://mp.weixin.qq.com/s?__biz=MzA4MDA2OTA0Mg==&mid=208184833&idx=1&sn=d9e615e45902c3c72db6c24b65c4af3e#rd\">一键关注</a>"; /** * 如果要支持多公众账号,只需要在此返回各个公众号对应的 ApiConfig 对象即可 可以通过在请求 url 中挂参数来动态从数据库中获取 * ApiConfig 属性值 */ public ApiConfig getApiConfig() { ApiConfig ac = new ApiConfig(); // 配置微信 API 相关常量 ac.setToken(PropKit.get("token")); ac.setAppId(PropKit.get("appId")); ac.setAppSecret(PropKit.get("appSecret")); /** * 是否对消息进行加密,对应于微信平台的消息加解密方式: 1:true进行加密且必须配置 encodingAesKey * 2:false采用明文模式,同时也支持混合模式 */ ac.setEncryptMessage(PropKit.getBoolean("encryptMessage", false)); ac.setEncodingAesKey(PropKit.get("encodingAesKey", "setting it in config file")); return ac; } }
<filter-mapping> <filter-name>jfinal</filter-name> <url-pattern>/weixin</url-pattern> </filter-mapping>中的/weixin改成 /weixin/*,另外将这个filter提到web.xml的最上面,以免有别的给拦截了。另外你把你得WeixinMsgController加上几个消息,要不然没响应的 ###### 1.8发布时就专门提到Wiki了。 你先本地调试下,浏览器环境访问肯定是不行的,JFinal weixin demo和调试:http://git.oschina.net/jfinal/jfinal-weixin/wikis/JFinal-weixin-demo%E5%92%8C%E8%B0%83%E8%AF%95 ######额....JFinalWeixin能用在SpringMVC上?######回复 @如梦技术 : 那这样,还要SpringMVC何用?晕........######是可以的,不过是依靠的JFinal。######文档也是有的,看一下这里: http://git.oschina.net/jfinal/jfinal-weixin/wikis/home######什么都不说了,感动,,没想到这么多热心的jfinal支持者来帮我回答问题,刚一直在开会,我现在试试去。。。好运。。。。######回复 @如梦技术 : 感谢二位,问题解决,确实是web.xml配置的问题,我自己也疏忽了。######不是支持者,我们是核心开发者,之前写那篇WIKI的时候没测试。刚才用spring-shiro-training已经测试过了,WIKI也更新了。你按照我刚才的回复弄就好了。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。