標籤:fun title set next graphics ini template image val
Servlet:
package cn.bdqn.servlet;import javax.imageio.ImageIO;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.awt.*;import java.awt.font.ImageGraphicAttribute;import java.awt.image.BufferedImage;import java.io.IOException;import java.util.Random;@WebServlet(name = "Servlet",urlPatterns = "/yanCode")public class Servlet extends HttpServlet { public void doPost(javax.servlet.http.HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request,response); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String s="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; Random random = new Random(); int width=500; int height=50; BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB); Graphics graphics = image.getGraphics();//相當於畫筆 //畫背景 graphics.setColor(Color.gray); graphics.fillRect(0,0,width,height); graphics.setColor(Color.black); for (int i = 0; i <4 ; i++) { int index = random.nextInt(s.length()); String c = s.substring(index, index + 1); graphics.drawString(c,width/5*(i+1),15); } ImageIO.write(image,"jpg",response.getOutputStream()); }} jsp:
<%-- Created by IntelliJ IDEA. User: Administrator Date: 2017/10/10 Time: 13:04 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %><html> <head> <title>驗證碼</title> </head> <body> <img src="yanCode" alt="驗證碼" style="width: 500px;height:50px"> <input type="button" value="看不清,更換驗證碼" id="btn" onclick="changeCode();"> <script type="text/javascript" src="js/jquery.min.js"> </script> <script type="text/javascript" > function changeCode() { $("img").attr(‘src‘, ‘yanCode?ts=‘ + new Date().getTime()); } </script> </body></html>
java實現網頁驗證碼