java实现验证码3秒刷新一次
生活随笔
收集整理的這篇文章主要介紹了
java实现验证码3秒刷新一次
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaeehttp://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"metadata-complete="true"><servlet><servlet-name>filedown</servlet-name><servlet-class>com.kuang.servlet.FileServlet</servlet-class></servlet><servlet-mapping><servlet-name>filedown</servlet-name><url-pattern>/down</url-pattern></servlet-mapping><servlet><servlet-name>imageServlet</servlet-name><servlet-class>com.kuang.servlet.ImageServlet</servlet-class></servlet><servlet-mapping><servlet-name>imageServlet</servlet-name><url-pattern>/img</url-pattern></servlet-mapping></web-app>
package com.kuang.servlet;import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Random;public class ImageServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//如何讓瀏覽器3秒自動刷新一次;resp.setHeader("refresh","3");//在內存中創建一個圖片BufferedImage image = new BufferedImage(80,20,BufferedImage.TYPE_INT_RGB);//得到圖片Graphics2D g = (Graphics2D) image.getGraphics(); //筆//設置圖片的背景顏色g.setColor(Color.white);g.fillRect(0,0,80,20);//給圖片寫數據g.setColor(Color.BLUE);g.setFont(new Font(null,Font.BOLD,20));g.drawString(makeNum(),0,20);//告訴瀏覽器,這個請求用圖片的方式打開resp.setContentType("image/jpeg");//網站存在緩存,不讓瀏覽器緩存resp.setDateHeader("expires",-1);resp.setHeader("Cache-Control","no-cache");resp.setHeader("Pragma","no-cache");//把圖片寫給瀏覽器ImageIO.write(image,"jpg", resp.getOutputStream());}//生成隨機數private String makeNum(){Random random = new Random();String num = random.nextInt(9999999) + "";StringBuffer sb = new StringBuffer();for (int i = 0; i < 7-num.length() ; i++) {sb.append("0");}num = sb.toString() + num;return num;}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);}
}
總結
以上是生活随笔為你收集整理的java实现验证码3秒刷新一次的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 玩转tomcat
- 下一篇: 三星Galaxy S24 Ultra屏幕