效果图看一下。
step1:需要下载一个工具包,这里分享我使用的。
https://blog.csdn.net/chenzhengjiayou/article/details/79272313
step2:新建action,因为这个逻辑不应该写在登录,注册等主逻辑中,所以新建工具包com.util,新建RandomCodeAction.
step3:RnadomCodeAction需要继承ActionSupport,实现ServletRequestAware,ServletResponseAware两个接口,然后定义属性,实现接口下的方法,注意改改参数。
private HttpServletRequest request;
private HttpServletResponse response;
step4:把属性复制到action中,把方法全部复制到action的execute方法中。
注意:方法中会将图片验证码上的值存进session中,注意在session中设置的存放验证码值的变量,后面会用到千万别错了,
我这里使用code。
step5:配置struts.xml文件
step6:保存action。现在我们开始写前端,在要显示验证码的地方这样写:
注意:这里我加入了js的方法,使得点击图片就可以换一张验证码图片。
js代码如图:
step7:以上我们就实现了动态验证码,接下来我们需要在登录的过程中进行验证,不建议将验证码的验证放入登录验证的逻辑中,建议使用validate方法,将用户输入的验证码与session code中的值进行比较。