2019-08-16 14:42

@liugz 扩展出来以后的使用是非常简单的:
render(new MyCaptchaRender());

2019-08-16 14:09

@liugz 刚才看错了,你是 sqlserver 数据库不是 mysql, 我给的方案是 mysql 的

sqlserver 应该需要别的配置方式,你找找 sqlserver 有关这方面的配置方法

2019-08-16 14:08

@liugz 这样来简单理解:
1:以前的验证码的 key 是存放在 cookie 中的,现在 cookie 不能用的,需要扩展一个 MyCaptchaRender

2:在扩展出来的 MyCaptchaRender 中原先的:
Cookie cookie = new Cookie(captchaName, captcha.getKey());
改成:
request.setAttribute(captchaName, captcha.getKey());

3:在页面中拿到这个 captchaName 的值,并放在隐藏表单域中,或者问号挂参的方式在提交的时候将该值提交到服务端,例如:
localhost/action?captchaName=xxxx

4:在服务端仿照 validateCaptcha(...) 方法,将原来从 cookie 取值的方式改成使用下面的方式取:
getPara(captchaName);

总之,就是将原先通过 cookie 存取的代码改成使用 controller 中的 HttpServletRequest

2019-08-16 13:54

jdbcUrl 配置中添加一个 useSSL=false,例如:
jdbcUrl=jdbc:mysql://localhost/jfinal_db?characterEncoding=utf8&useSSL=false

在 jfinal club 项目中例子参考

2019-08-16 12:03

先尝试这两个 sql 内容一起拥到 Db.update(...) 中去,因为你这个 sql 是有分号结尾的,或许一次性可以执行多条

如果不成功,则按分号解析出一条条的 sql 去执行,这些显然都与 jfinal 无关了

2019-08-16 12:01

@周中中 用了以后不用 stop(), 只有在你确定某个数据源不使用的时候才去 stop()

可以通过 DbKit.getConfigSet() 获取所有 Config 对象,Config 对象中持有数据源,可以通过 Config.getDataSource() 进一步获取

2019-08-16 10:22

你的用法是对的, sql 从文件中读出来使用普通的 java API 即可

假定你的 sql 是按行存放的,可以通过 BufferedReader 按行读取,
String sql = reader.readLine();

然后 Db.update(sql);

2019-08-16 10:20

@nbjgl 空指针异常是最好解决的,单步调试一下看哪个对象为 null 值引起的

2019-08-16 10:18

@肖兔兔 用多少个都可以,注意要使用 cos 2019.8 这个版本才支持多文件上传时 input 的 name 值相同

否则 input 的 name 值需要不同才支持

2019-08-16 08:26

与性能有关的因素极多,数据源仅仅是其中一个而已

如果你的第个数据源都很快,性能影响可以忽略不计,我就见过有人使用 jfinal 开发的项目用到了上千个数据源

数据源个数无上限

数据源可以动态配置,你只需要手动 new DruidPlugin(), 再手动 new ActiveRecord(...), 再手动 start() 启动这两个组件, 不用的时候 stop() 这两个组件即可,参考这一章的内容:
https://www.jfinal.com/doc/5-15

2019-08-16 08:23

@liugz 在不支持 cookie 的场景下,参过在 url 中问号挂参,或者表单传参的方式传给服务端

2019-08-16 08:18

这种需求需要使用 Handler 转换成 Controller 能接收到的路由,参考 com.jfinal.ext.handler 包下面的一些用法

其实很简单,变动一下 String target 这个参数即可

2019-08-15 20:40

@373118970 用上 jfinal 提供的 jfinal-undertow 来开发、运行、部署,是一体化的方案,不必折腾各种配置:
https://www.jfinal.com/doc/1-2

2019-08-15 20:39

@JPEGIF jfinal 只负责生成,是不是永久得看你如何定义这个永久

你可以认为在 jfinal 的世界,只要你生成二维码使用的参数不变,那它就是永久的