flyFish's recorder.

六月问题记录

2018/07/02 Share

Java后台,安卓前端。用原生调用登录,在通过webview访问H5跳转没问题。调用接口退出后,再登录,访问H5,过滤器返回未登录。Session存值取值都没问题。

问题原因

1
退出接口执行session.invalidate();,会杀死当前session。重新登录后,安卓webview依然存储被杀死的sessionid,原生与webview的session不一致,导致原生没问题,H5爆炸。也解释了第一次都可以,以后原生可以,H5都不可以。

解决办法

1
2
a)	将退出登录改为session.removeAttribute("app_userId");,这样sessionid依然可用。
b) 安卓端也可以重新绑定sessionid。ios未发现此问题。

有个奇怪的地方,连接我局域网的测试服务器环境,安卓模拟器与真机都未发生此问题,不解~

java.sql.SQLException: Parameter index out of range (11 > number of parameters, which is 10). enum constant org.apache.ibatis.type.JdbcType.Integer

问题原因

1
预编译insert sql,?参数与插入字段数量不一致。

解决办法

1
添加一个占位符 ? 。

对接微信H5支付接口,统一下单接口返回fail,提示签名错误,查文档,解释为sign错误

问题原因

1
2
3
通过在线sign验证,提示sign正确,字段齐全,大小写无错误。
在线sign无法验证商户KEY是否正确。
可是对好多次,key是一致的。

解决办法

1
原来是商户key是需要手动设置的秘钥,不是AppSecret!!!坑了好几天。

org.xml.sax.SAXParseException: 在实体引用中, 实体名称必须紧跟在 ‘&’ 后面。

问题原因

1
mybatis xml中语法错误。

解决办法

1
mybatis xml中if条件判断,与条件不用 & ,用and

mybatis generator生成实体类后,参数接收格式转换异常,400

问题原因

1
2
mybatis自动生成类与xml时,会抹除注解
类似于@DateTimeFormat(pattern="yyyy-MM-dd")

解决办法

1
每次生成手动加上
CATALOG
  1. 1. Java后台,安卓前端。用原生调用登录,在通过webview访问H5跳转没问题。调用接口退出后,再登录,访问H5,过滤器返回未登录。Session存值取值都没问题。
  2. 2. java.sql.SQLException: Parameter index out of range (11 > number of parameters, which is 10). enum constant org.apache.ibatis.type.JdbcType.Integer
  3. 3. 对接微信H5支付接口,统一下单接口返回fail,提示签名错误,查文档,解释为sign错误
  4. 4. org.xml.sax.SAXParseException: 在实体引用中, 实体名称必须紧跟在 ‘&’ 后面。
  5. 5. mybatis generator生成实体类后,参数接收格式转换异常,400