2018-06-05 09:38
@pary 方法还是一样的,看一下控制台输出的 jfinal action report 中的 parameter 这一栏中的参数,然后选用一个 getPara 系的方法即可
2018-06-04 17:23
@pary jfinal 是后端框架,只能管到后端的事情,参数获取的时候,必须要参数确实存在
至于前端问题,我自己也不太熟悉,在网上找找资料
2018-06-04 10:32
@543734235 缺少 jfinal-3.4 的 jar 包,在首页右侧下载 jfinal-3.4-all.zip,里面都有
2018-06-03 22:09
ExecutorService 与 AtomicLongMap 配合的使用性能会非常高,这个是亮点
有几个小建议:
1:saveAPICountsToDB.execute 中使用 lambda 会更简洁,省好几行代码
2:saveAPICallCountsToDB 中的 findFirst 方法中使用 sql 要添加一个 limit 1 性能才更好
3:saveAPICallCountsToDB 中的逻辑可以改进一下,性能会更高:
int n = Db.update("UPDATE yw_module_statistics SET count = count + ? WHERE controllerName = ? AND methodName = ? LIMIT 1", ...)
if (n == 0) {
Db.update("INSERT INTO....);
}
上面的逻辑是,默认一上来就执行 update ,得到的返回值 n 如果是 0,证明记录不存在,这个时间再执行 insert into
这样做的原因是,绝大部分情况下都会命中前一个 update,只有 action 在第一次被请求时才会命中后面的 insert into,避免掉了每次的 findFirts 判断是非常划算的