随机验证码案例实现
1.需求:
实现图片上四位随机字母和数字的验证码,并且图片上有线条和点的干扰
验证码的生成应该是在服务器端生成,响应回客户端,等客户端输入完信息后提交传回到服务器端进行判断,此过程涉及请求转发,需要跨Servlet传输数据,因此验证码的数据存储需要使用到域对象,这里使用ServletContext来进行数据存储
2.java图片操作技术
awt技术
2.1绘画对象:
BufferedImage
所有 BufferedImage 对象的左上角坐标都为 (0, 0)。
构造方法:
设置宽高和图片模式(RGB)
BufferedImage(int width, int height, int imageType)
默认的是背景黑色
2.2 image存储对象
ImageIO
在指定位置写入图片
ImageIO.write(bufferedImage,"jpg",new FileOutputStream("D:/test.jpg"));
2.3画布绘图对象
Graphics
获得画布对象
Graphics graphics = bufferedImage.getGraphics();
设置画笔颜色
graphics.setColor(Color.red);
还可以使用RGB来设置颜色
//绘制矩形(参数是位置,长宽)
graphics.drawRect(20,20,50,40);