2017-03-02 12:38
@lyh061619 感谢回复
有异常一定会在控制台输出的,而且页面也会输出 404 或 500 错误,sql 语句也可以通过配置来输出。将异常输出在页面会让黑客有可乘之机,黑客可以有计划的去制造异常,然后通过页面的异常分析并得到系统的漏洞
当然,提供这个输出异常到页面的功能,也可以让开发者通过配置在生产环境之下关闭,但也难保有时会忘了关闭或者其它的失误
2017-03-01 17:32
@vikingSun 第一个问题,sql 管理功能有她合适的场景,例如,做跨数据库的产品,如果 sql 写在外部文件中,可以为不同的数据库分别去写一套,从而实现跨数据库的功能。此外写在外部 sql 文件之中,还有助于一些大公司的 DBA 职位,他们的 sql 是 DBA 来写并不断优化的,写在外部方便随时查看并根据 sql 性能监控的结果做优化。
对于其它很多情况,其一是基本的 CRUD 中的 CUD 都已被 jfinal 实现过了,其二是可以直接在 java 中写 sql,确实没有必要使用外部文件进行管理,这也是 jfinal 在相当长的时间并没有提供外部 sql 管理功能的重大原因
第二个问题,让开发者发挥想象力,各显神通就好,jfinal 作为框架,更好地是去实现基础设施性的功能,这样才能降低学习成本,保持极简风格
第三个问题,与第二个问题类似的原因,jfinal 目前只实现基础功能,以免事情变得复杂。扫描 sql 文件这件事情,说大不大,但要做得很完善,尤其是要做成极简,也得费一番事,例如,得考虑扫描什么类型的文件,是不是要分析文件内容来确定是 sql 文件等等