用Session来完成用户登录,防止表单重复提交。

//写汉字 String base = "\u7684\u4e00\u4e86\u662f\u6211\u4e0d\u5728\u4eba\u4eec\u6709\u6765\u4ed6\u8fd9\u4e0a\u7740"; //写4个字 Color c = Color.BLUE; g.setColor(c); Font font = new Font("宋体",Font.ITALIC, 20); g.setFont(font); StringBuffer sb = newStringBuffer(); //产生汉字 for(int i=0;i<4;i++){ int location = newRandom().nextInt(base.length()-1); char chr = base.charAt(location); sb.append(chr+""); } checkCode=sb.toString(); Graphics2D gd = (Graphics2D) g; gd.rotate(0.05); //把汉字写到图片上 g.drawString(checkCode, 10, 20); } public static voidoutImage(OutputStream os) throws IOException{ //创建图片 BufferedImage image = new BufferedImage(WIDTH, HEIGHT, IMAGETYPE); //得到图型 Graphics g = image.getGraphics(); // 设置图片背景色 setBackground(g); //向图片上写边框 setBorder(g); //向图片上写干扰线 setRandomLine(g); // 7、向图片上写数据 setFont(g); // 8、把图片写给浏览器 ImageIO.write(image, "gif", os); } //清楚浏览器缓存 response.setIntHeader("expires", 0); response.setHeader("Cache-Control", "no-cache"); response.setHeader("Pragma", "no-cache"); //通知浏览器以图片的方式打开 response.setHeader("Content-Type", "image/jpeg");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值