优化代码
在开发完登录功能后,发现存在许多重复的代码(参考Java进阶开发课堂笔记(四))此时,我们需要优化代码。
代码优化前:
代码优化后:
这样代码就显得比较简洁,以后修改代码的时候,就不会出现一处修改了,而另外一处相同的代码忘记修改的情况。
开发验证码功能
完成了以上的工作之后,我们就是可以开始开发登录界面中另一个重要的功能,就是验证码功能。
首先,我们新创建一个CaptchaController
的类:
同样,也是继承HttpServlet
,并且配置好WebServlet
(配置WebServlet的方法,参考Java进阶开发课堂笔记(四)),此次我们重写的是service
:
因为验证码是一张图片,而不是一个文本,所以,我们先创建一个缓冲区BufferedImage
来存放图片,使用Graphics
这个是抽象类,用来传给paint()
方法作为画笔的,此时我们需要用的得命令有:
命令包含了设置背景颜色,字体大小,格式,增加斜线和噪点的代码。
因为验证码非固定文本,所有我们要定义一个方法,随机获取字符:
建议将容易混淆的字母去除,当然不去除也是可以的。
定义一个方法后,我们可以在main
文件夹下创建一个Test
文件夹用来测试方法的是否可用:
测试完,方法是可以使用之后,在CaptchaController
里面,我们就可以调用它:
String code =randomString(4); //调用随机生成验证码的方法
g.drawString(code,25,32);
(具体位置可查看先前图片中,标有提示)
最后,我们要在浏览器中显示验证码:
完成以上操作后,就基本完成了验证码的开发,我们现在运行起来看一下。
最后,不要忘了提交代码到本地仓,并push到远程仓库去。