2019-08-16 17:32
@芦苇 可能是 web.xml 中没有配置好, jfinal-undertow 之下是不需要 web.xml 的,所以你在 tomcat 下可能会忘了配置这个东东,或者配置错误了
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