Java后台,安卓前端。用原生调用登录,在通过webview访问H5跳转没问题。调用接口退出后,再登录,访问H5,过滤器返回未登录。Session存值取值都没问题。
问题原因
1 | 退出接口执行session.invalidate();,会杀死当前session。重新登录后,安卓webview依然存储被杀死的sessionid,原生与webview的session不一致,导致原生没问题,H5爆炸。也解释了第一次都可以,以后原生可以,H5都不可以。 |
解决办法
1 | a) 将退出登录改为session.removeAttribute("app_userId");,这样sessionid依然可用。 |
有个奇怪的地方,连接我局域网的测试服务器环境,安卓模拟器与真机都未发生此问题,不解~
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 | 通过在线sign验证,提示sign正确,字段齐全,大小写无错误。 |
解决办法
1 | 原来是商户key是需要手动设置的秘钥,不是AppSecret!!!坑了好几天。 |
org.xml.sax.SAXParseException: 在实体引用中, 实体名称必须紧跟在 ‘&’ 后面。
问题原因
1 | mybatis xml中语法错误。 |
解决办法
1 | mybatis xml中if条件判断,与条件不用 & ,用and |
mybatis generator生成实体类后,参数接收格式转换异常,400
问题原因
1 | mybatis自动生成类与xml时,会抹除注解 |
解决办法
1 | 每次生成手动加上 |