JSP验证码
在JSP页面上写随机的4位数验证码
实例化BufferedImage类 得到Graphics画笔给图片填充背景色 然后写上随机数和100个干扰点
用scropt实现刷新验证码
疑问:视频和书上的DrawString 方法不能用 也不知道怎么回事 把String转成了char调用了另外一个drawChars的方法才对
<%@ page language="java" contentType="text/html; charset=GB2312" import = "java.awt.image.*" import = "java.util.*" import = "java.awt.*" import = "javax.imageio.*" import = "java.lang.*" %> <html> <head> </head> <body> <% response.setHeader("Cache-Control", "no-cache"); BufferedImage image = new BufferedImage(60, 20, BufferedImage.TYPE_INT_RGB); Graphics g = image.getGraphics(); g.setColor(new Color(200, 200, 200)); g.fillRect(0, 0, 60, 20); Random rd = new Random(); int r = rd.nextInt(8999) + 1000; String rand = String.valueOf(r); session.setAttribute("rand", rand); g.setColor(Color.BLACK); g.setFont(new Font("", Font.PLAIN, 20)); g.drawChars(rand.toCharArray(), 0, rand.length(), 10, 17); for(int i = 0; i < 100; i++){ int x = rd.nextInt(60); int y = rd.nextInt(20); g.drawOval(x, y, 1, 1); } ImageIO.write(image, "JPEG", response.getOutputStream()); %> </body> </html>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。