首页 > 代码库 > 简单输出随机验证码图片
简单输出随机验证码图片
1. 创建一个servlet
1 package ztq.servlet.study; 2 3 import java.awt.Color; 4 import java.awt.Font; 5 import java.awt.Graphics; 6 import java.awt.image.BufferedImage; 7 import java.io.IOException; 8 import java.util.Random; 9 10 import javax.imageio.ImageIO;11 import javax.servlet.ServletException;12 import javax.servlet.http.HttpServlet;13 import javax.servlet.http.HttpServletRequest;14 import javax.servlet.http.HttpServletResponse;15 16 public class ServletDemo1 extends HttpServlet {17 public void doGet(HttpServletRequest request, HttpServletResponse response)18 throws ServletException, IOException {19 //通知浏览器不要缓存20 response.setHeader("Expires", "-1");21 response.setHeader("Cache-Control", "no-cache");22 response.setHeader("Pragma", "no-cache");23 24 int width = 120;25 int height = 25;26 //创建一副内存图像27 BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);28 29 //得到属于该图像的画笔30 Graphics g = bi.getGraphics();31 32 //画边框33 g.setColor(Color.BLACK);34 g.drawRect(0, 0, width, height);35 36 //填充背景色37 g.setColor(Color.GRAY);38 g.fillRect(1, 1, width - 2, height - 2);39 40 //画随机干扰线41 g.setColor(Color.GREEN);42 Random r = new Random();43 for(int i = 0; i < 10; i++){44 g.drawLine(r.nextInt(width), r.nextInt(height), r.nextInt(width), r.nextInt(height));45 }46 47 //画随机数字48 g.setColor(Color.RED);49 g.setFont(new Font("宋体", Font.BOLD|Font.ITALIC, 20));50 int x = 23;51 for(int i = 0; i < 4; i++){52 g.drawString(r.nextInt(10) + "", x, 20);53 x += 20;54 }55 56 //输出到浏览器的页面上57 ImageIO.write(bi, "jpg", response.getOutputStream());58 59 }60 public void doPost(HttpServletRequest request, HttpServletResponse response)61 throws ServletException, IOException {62 doGet(request, response);63 }64 }
2. 创建一个Html页面
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>登录</title> 5 6 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 7 <meta http-equiv="description" content="this is my page"> 8 <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 9 10 <!--<link rel="stylesheet" type="text/css" href="http://www.mamicode.com/styles.css">-->11 12 </head>13 14 <body>15 <form action = "" method = "post">16 用户名:<input type = "text" name = "username" /><br /><br />17 密码: <input type = "password" name = "password" /><br /><br />18 验证码:<input type = "text" name = "code" />19 <img src = "/JavaWeb_Servlet_Study/servlet/ServletDemo1">20 <a href = "javascript:toRefresh()">看不清</a><br /><br />21 <input type = "submit" value = "登录" />22 </form>23 <script type = "text/javascript">24 function toRefresh(){25 document.location.href = "login.html";26 }27 </script>28 </body>29 </html>
简单输出随机验证码图片
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。