今天就跟大家聊聊有關(guān)利用Java實現(xiàn)一個驗證碼功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
10年專注成都網(wǎng)站制作,企業(yè)網(wǎng)站制作,個人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識、方案,網(wǎng)站設(shè)計流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站制作,高端網(wǎng)頁制作,對柴油發(fā)電機等多個領(lǐng)域,擁有多年的網(wǎng)站運維經(jīng)驗。要導(dǎo)入servlet-api.jar包
創(chuàng)建驗證碼的Util工具類:
先創(chuàng)建圖片并生成隨機的驗證碼字母
設(shè)置圖片的底色,并用setFont函數(shù)將驗證碼畫在圖片上,如果想讓驗證碼難一點,可以添加for循環(huán)的代碼給圖片增加旋轉(zhuǎn)角度
給驗證碼增加干擾線,提高安全性
設(shè)置邊框
創(chuàng)建VerifyPic的servlet,通過Util類獲取代碼,并存入session中,然后輸送去前端頁面
前端頁面驗證碼如下:
完整Util工具類代碼如下:
package com.sport.util; import java.awt.*; import java.awt.image.BufferedImage; import java.util.HashMap; import java.util.Map; public class VerifyUtil { public static MapgenerateVerify(){ //創(chuàng)建一張圖片 BufferedImage verifyPic = new BufferedImage(120,40,BufferedImage.TYPE_3BYTE_BGR); //通過圖片獲取畫筆 Graphics2D g = verifyPic.createGraphics(); //準備一個字母+數(shù)字的字典 String letters = "23456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; //規(guī)定驗證碼的位數(shù) int verifyLength = 4; //生成隨機驗證碼 String verifyCode = ""; //循環(huán)取值 for(int i=0; i data = new HashMap (); data.put("verifyCode", verifyCode); data.put("verifyPic", verifyPic); return data; } }