jfinal weixin与springmvc集成的问题

苏珊大妈 发布于 2016/07/25 11:54
阅读 748
收藏 0

@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;
	}

	
}



加载中
0
如梦技术
如梦技术
<filter-mapping>
    <filter-name>jfinal</filter-name>
    <url-pattern>/weixin</url-pattern>
</filter-mapping>

中的/weixin改成/weixin/*,另外将这个filter提到web.xml的最上面,以免有别的给拦截了。另外你把你得WeixinMsgController加上几个消息,要不然没响应的

0
如梦技术
如梦技术

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

0
CapJes
CapJes
额....JFinalWeixin能用在SpringMVC上?
CapJes
CapJes
回复 @如梦技术 : 那这样,还要SpringMVC何用?晕........
如梦技术
如梦技术
是可以的,不过是依靠的JFinal。
0
苏珊大妈
苏珊大妈
什么都不说了,感动,,没想到这么多热心的jfinal支持者来帮我回答问题,刚一直在开会,我现在试试去。。。好运。。。。
苏珊大妈
苏珊大妈
回复 @如梦技术 : 感谢二位,问题解决,确实是web.xml配置的问题,我自己也疏忽了。
如梦技术
如梦技术
不是支持者,我们是核心开发者,之前写那篇WIKI的时候没测试。刚才用spring-shiro-training已经测试过了,WIKI也更新了。你按照我刚才的回复弄就好了。
返回顶部
顶部