2018-04-09 10:10

@秦城诗雨 哈哈,不错不错,感谢分享的呢。

2018-04-09 10:01

@minions_JSF 安全这块其实很好跟客户说的,你就拿你的专业安全术语跟他们交流就好,其次的就性能,任何一个框架封装都没有原生性能来得高,为什么说JFinal是个例外,你看整个框架的代码就知道了也就2w来行代码,其次就是框架本身的依赖很少,代码跟踪层级也很清淅,封装极薄,保持味,封装只是一个辅助,提高工作效率,所以这什么她能称之为极速开发的原因,目前了没有那个框架能有如此的称谓。

2018-04-09 09:48

先从安全这角度来展开,
1、安全这个范畴已经不单指框架这层面上了,比如自身网络安全,服务器操作系统安全,开发人员的开发习惯与安全意识等,其次就是框架层,JFinal框架本身就是开源的,代码量也不多,即审查即使用一目了然,在处理sql这块底层使用使用的是预处理,不知道预处理的你可能查找下相关资料;
2、然后就是稳定问题,刚才也提到JFinal代码量不多,原因就是在封装时尽量保持原味也就意味着她据有原生的性能,其次每次更新都是通过严格的测试这个大可能放心使用。
3、最后就是成熟案例这块,这个问题据不完全统一现在很多企业系统都在使用JFinal,人才招聘网上需求量特别是北上广深这块的很多,以下列举几个案例给你参考下如:
http://www.ufeifan.com
http://www.36zhen.com
http://www.doctorpda.cn
http://www.timeface.cn
http://www.wxappclub.com
http://www.judier.com
http://www.cyo2m.com
这些都是,另外记得泛微的云桥也在使用JFinal。

2018-04-08 16:53

JFinal这么设计的原因就,把更多的控制权交出来,让开发者或架构师去把控,如果封装的话存在三个问题,1、灵活性有损不能够很的控制;2、因为有时些框架自身的实现无法满足,但需求拓展的话,又显示多余;3、另外JFinal本身自己的依赖包是很少的,如果中间自动加一层缓存的话,(1)、必定会强制依赖ehcache等包,(2)、其次就是自动缓存据了解,在表级联查询是得不到很的控制,所以一般框架层缓存只能做到单表查询缓存,意义不大,(3)、且本身框架的代码复杂度有所增加,通常情况下JFinal ORM是 jdbc的极简封装,理论上是达到原生的速度,所以缓存在JFinal设计是是一种辅助的,不是非必须的,这就是JFinal的设计初衷,因为JFinal把握好核心,其他的都可以自行定制与拓展。

2018-04-08 16:04

这个分享很不错,有实战考验了没?

2018-04-08 12:02

咋问题?你可以将传过来的数组进行遍历,然后传入条件执行删除。

2018-03-29 14:36

你直接用第三方的爬虫就好了,在JFinal使用就是那么的简单,基本上是不用到什么插件的。推荐你使用:http://webmagic.io/

2018-03-29 14:34

现在你用的druid版本是多少,建议你更换用最新版本试下,在JFinal中对插件侵入性可以是说没有,所在在封装的时候基本上都是左原汁原味的。

2018-03-28 10:47

直接用就好,另外你用netty有点重,另外给你推更轻量级的tio:https://www.oschina.net/p/t-io

2018-03-27 21:49

@xufu123 不要用拼接,要使用问号占位符,养成良好的习惯,因为拼接的方案往往会存在没必要的安全隐患。

2018-03-27 19:33

这个问题不错,得波总给我回复的呢。感谢反馈。@JFinal

2018-03-27 16:21

看你现在自己去扑捉了异常,无法触发到@Before(Tx.class)事物回滚,建议你先把异常类给屏蔽掉先,或者你手动往上抛,再后建议你看下,tx.class源码下谢谢。

2018-03-27 16:11

这个问题,首先,你传的是一个字符串,虽然将分别用逗号隔开,但是这么传肯定是无法给你识别的,就会造成只识别id=1的数据,另外看你的说明是想批量进行修改的话,必须对以上String oplog_ids="1,2,3";做下处理转换成字符串数组如: String[] ids = oplog_ids.split(",");,然后在业务层用个for循环如:
for (String id : ids){
int count = Db.update("update sw_oplog set `status`=0 where id = ?", id);
}
即可批量操作。

2018-03-27 15:59

先说你的第一个问题,玛雅牛的shiro插件,升级到3.3出现问题,是这样子的之前有人提出一个需求是启动时需要插件优先与路由,所以3.3版本在考虑到这个需求点没有考虑到有些插件必须依赖路由进行的,就会造成这情况,但情况在3.4版本就得到很好的解决,就是可能定制各模块的执行顺序,关于这个问题造成的影响,目前有一个更好的解决方案:http://www.jfinal.com/share/410你参考下,用这个方案可能说是完全不需要什么插件的,当然替换上去也没有什么大的工作量,就是直接到原来用到插件的地方拿掉,加个拦截器ShiroInterceptor,其他的保持不变。
第二个问题,嘛不太清楚你问题出现在什么地方,你看方便的话,贴点代码出来说明下,肯定一点的是,接收Json数据是要做下转换的,比如Integer[] productId = JsonKit.parse(getPara("checkbox"), Integer[].class);也就是将传过来的checkbox用Jsonkit.parse进行解析下。