亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringBoot結合kaptcha驗證碼工具是怎樣的

發布時間:2021-09-29 17:12:16 來源:億速云 閱讀:116 作者:柒染 欄目:大數據

本篇文章為大家展示了SpringBoot結合kaptcha驗證碼工具是怎樣的,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

首先,在pom.xml中加入kaptcha的依賴

<!--驗證碼 -->
		<dependency>
			<groupId>com.github.penggle</groupId>
			<artifactId>kaptcha</artifactId>
			<exclusions>
				<exclusion>
					<artifactId>javax.servlet-api</artifactId>
					<groupId>javax.servlet</groupId>
				</exclusion>
			</exclusions>
		</dependency>

其次,在項目中創建CaptchaConfig類,對驗證碼進行配置。

@Configuration
public class CaptchaConfig
{
    @Bean(name = "captchaProducer")
    public DefaultKaptcha getKaptchaBean()
    {
        DefaultKaptcha defaultKaptcha = new DefaultKaptcha();
        Properties properties = new Properties();
    	// 是否有邊框
        properties.setProperty(KAPTCHA_BORDER, "no");
        // 驗證碼文本字符顏色
        properties.setProperty(KAPTCHA_TEXTPRODUCER_FONT_COLOR, "black");
        // 驗證碼文本字符大小
        properties.setProperty(KAPTCHA_TEXTPRODUCER_FONT_SIZE, "38");
        // KAPTCHA_SESSION_KEY
        properties.setProperty(KAPTCHA_SESSION_CONFIG_KEY, "kaptchaCode");
        // 驗證碼文本字符長度
        properties.setProperty(KAPTCHA_TEXTPRODUCER_CHAR_LENGTH, "4");
        // 驗證碼文本字體樣式 
        properties.setProperty(KAPTCHA_TEXTPRODUCER_FONT_NAMES, "Arial,Courier");
        // 圖片樣式 
        properties.setProperty(KAPTCHA_OBSCURIFICATOR_IMPL, "com.google.code.kaptcha.impl.ShadowGimpy");
        Config config = new Config(properties);
        defaultKaptcha.setConfig(config);
        return defaultKaptcha;
    }
}

接著,編寫Controller類,生成驗證碼。

@Controller
public class CaptchaController {
	
	private static final Logger log = LoggerFactory.getLogger(CaptchaController.class);


	@Resource(name = "captchaProducer")//配置類中的bean
	private Producer captchaProducer;

	@RequestMapping("/captcha")
	public ModelAndView captcha(HttpServletRequest request, HttpServletResponse response) {
		ServletOutputStream out = null;
		try {
			HttpSession session = request.getSession();
			response.setDateHeader("Expires", 0);
			response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");
			response.addHeader("Cache-Control", "post-check=0, pre-check=0");
			response.setHeader("Pragma", "no-cache");
			response.setContentType("image/jpeg");
			
			String capStr = null;
			String code = null;
			BufferedImage bi = null;
			capStr = code = captchaProducer.createText();
			bi = captchaProducer.createImage(capStr);
			log.info("驗證碼:"+code);
			session.setAttribute(Constants.KAPTCHA_SESSION_KEY, code);
			out = response.getOutputStream();
			ImageIO.write(bi, "jpg", out);
			out.flush();

		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				if (out != null) {
					out.close();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		return null;
	}
}

然后,編寫頁面代碼,本樣例使用layui。

<form method="post" class="layui-form" >
            <input name="username" placeholder="用戶名"  type="text" lay-verify="required" class="layui-input" >
            <hr class="hr15">
            <input name="password" lay-verify="required" placeholder="密碼"  type="password" class="layui-input">
            <hr class="hr15">
            <img th:src="@{/captcha}"  id="captcha"/>
            <input name="password" lay-verify="required" placeholder="驗證碼"  type="text" class="layui-input" >
            <hr class="hr15">
            <input class="loginin" value="登錄" lay-submit lay-filter="login"  type="submit">
        </form>

最后,運行項目,查看效果,并且確認頁面的驗證碼與實際輸出驗證碼一致。

SpringBoot結合kaptcha驗證碼工具是怎樣的

日志輸出:

INFO  c.p.a.w.c.CaptchaController - [captcha,47] - 驗證碼:pfcd

上述內容就是SpringBoot結合kaptcha驗證碼工具是怎樣的,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黎川县| 黔南| 五家渠市| 临夏市| 固原市| 嘉峪关市| 大渡口区| 海门市| 漠河县| 波密县| 绥阳县| 长兴县| 三原县| 启东市| 攀枝花市| 宁陕县| 福州市| 田东县| 怀集县| 丁青县| 闽清县| 偃师市| 仁怀市| 临沧市| 天柱县| 宜宾市| 太白县| 宁陵县| 许昌县| 芜湖市| 屯留县| 肃北| 页游| 遂宁市| 瑞安市| 静宁县| 喜德县| 徐水县| 遂平县| 镇沅| 东丽区|