JavaWeb(五)---imgCode

来源:互联网 发布:淘宝开店交保证金多少 编辑:程序博客网 时间:2024/04/29 19:48

imgCode 图片验证码

图片验证码:

代码操作:

/*imageType参数:BufferedImage.TYPE_INT_RGB(透明) ………… 等等,第一个参数第二个参数:宽度,高度*/BufferedImage image = new BufferedImage(80,20,imageTye);/*Graphics2D 获取到图片,用于在java平台获取到一个二维图形*//*Graphics2D :提供了对几何图形,坐标转换,颜色管理或者文本格式的控制*/Graphics2D g = (Graphics2d)image.getGraphics();/*设置图片的背景*/g.setColor(Color.RED);/*设置背景填充,第一个第二个是位置,三四是填充的大小。*/g.fillRect(x,y,80,80);/*向图片上写数据*//*设置图片上的文字颜色*/g.setColor(Color.RED);/*设置字体的风格*/g.setFont(new Font("微软雅黑",Font.BOLD ,20));/*将文本加入到图片,三个参数,第一个是文本,二三个是坐标*/g.drawString(3601,10,10);/*设置响应的MIME类型*/response.setContextType("image/jpeg");/*控制浏览器不能缓存*/response.setDateHeader("expries",-1);response.setHeader("Pragma","NO-cache");response.setHeader("Cache-Control","No-cache");/*图片发送回客户端*/ImageIO.write(image,"jpg",response.getOutputStream());

在验证码设置中,有个看不清,换一张。
在里面再次请求:
两次请求的地址一样,服务器就指挥处理第一次请求,第二次请求得到的结果跟第一次结果就是一样的。 第一次缓存了上次的请求的结果。

所以:

    src = "/路径/………"+Math.random();    /*这样每次就每次不一样的结果*/

创建session用于装每个用户的验证码:

    每创建一个随机数:    HttpSession hs = request.getSession();    hs.setAttribute("code", num);
0 0
原创粉丝点击