如何通過(guò)Kaptcha在Web頁(yè)面生成驗(yàn)證碼
kaptcha 是一個(gè)擴(kuò)展自 simplecaptcha 的驗(yàn)證碼庫(kù),方便我們不再寫(xiě)此類功能。
他的代碼是谷歌托管的,可以從這里下載http://code.google.com/p/kaptcha/
工程內(nèi)已經(jīng)附帶了示例,可以方便開(kāi)發(fā)者使用。
需要的操作就是把kaptcha-2.3.2.jar增加到工程內(nèi),然后配置訪問(wèn)圖片的Servlet:
示例中的配置是:
<servlet-mapping> <servlet-name>Kaptcha</servlet-name> <url-pattern>/Kaptcha.jpg</url-pattern> </servlet-mapping>
也就是說(shuō)訪問(wèn)Kaptcha.jpg時(shí)其實(shí)就是訪問(wèn)了輸出驗(yàn)證碼圖片的Servlet。
示例中的KaptchaExample.jsp是調(diào)用頁(yè)面,這里介紹了如何驗(yàn)證用戶輸入是否和驗(yàn)證碼符合。
但是沒(méi)有如何刷新的操作,刷新其實(shí)很簡(jiǎn)單,這里稍微修改即可。
注意,必須加隨機(jī)參數(shù),否則讀取緩存就不會(huì)有效果。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Kaptcha Example</title>
<script type="text/javascript">
function refImg(){
document.getElementById("Kaptcha").src="<%=basePath%>Kaptcha.jpg?data="+Math.random();
}
</script>
</head>
<body>
<table>
<tr>
<td><img id="Kaptcha" src="<%=basePath%>Kaptcha.jpg" onclick="refImg()"></td>
<td valign="top">
<form method="POST">
<br>sec code:<input type="text" name="kaptchafield"><br />
<input type="submit" name="submit">
</form>
</td>
</tr>
</table>
<br />
<%
String c = (String)session.getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);
String parm = (String) request.getParameter("kaptchafield");
out.println("Parameter: " + parm + " ? Session Key: " + c + " : ");
if (c != null && parm != null) {
if (c.equals(parm)) {
out.println("<b>true</b>");
} else {
out.println("<b>false</b>");
}
}
%>
</body>
</html>
另外修改后使用的是絕對(duì)路徑,在實(shí)際開(kāi)發(fā)中應(yīng)該注意這個(gè)問(wèn)題。
做示例時(shí)使用的是kaptcha-2.3.2,見(jiàn)附件。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Google Kaptcha 框架實(shí)現(xiàn)登錄驗(yàn)證碼功能(SSM 和 SpringBoot)
- 使用google.kaptcha來(lái)生成圖片驗(yàn)證碼的實(shí)現(xiàn)方法
- SpringBoot集成kaptcha驗(yàn)證碼
- spring整合kaptcha驗(yàn)證碼的實(shí)現(xiàn)
- SpringMvc使用GoogleKaptcha生成驗(yàn)證碼
- SpringBoot 集成Kaptcha實(shí)現(xiàn)驗(yàn)證碼功能實(shí)例詳解
- 登陸驗(yàn)證碼kaptcha結(jié)合spring boot的用法詳解
- java驗(yàn)證碼組件kaptcha使用方法
相關(guān)文章
解決FontConfiguration.getVersion報(bào)空指針異常的問(wèn)題
這篇文章主要介紹了解決FontConfiguration.getVersion報(bào)空指針異常的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
java eclipse 出現(xiàn) xxx cannot be resolved to a type 錯(cuò)誤解決方法
這篇文章主要介紹了java eclipse 出現(xiàn) xxx cannot be resolved to a type 錯(cuò)誤解決方法的相關(guān)資料,需要的朋友可以參考下2017-03-03
SpringBoot整合Netty心跳機(jī)制過(guò)程詳解
這篇文章主要介紹了SpringBoot整合Netty心跳機(jī)制過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02
SpringBoot使用SensitiveWord實(shí)現(xiàn)敏感詞過(guò)濾
這篇文章主要為大家詳細(xì)介紹了SpringBoot如何使用SensitiveWord實(shí)現(xiàn)敏感詞過(guò)濾功能,文中示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-01-01
詳述IntelliJ IDEA提交代碼前的 Code Analysis 機(jī)制(小結(jié))
本篇文章主要介紹了詳述IntelliJ IDEA提交代碼前的 Code Analysis 機(jī)制(小結(jié)),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-11-11
Java報(bào)錯(cuò):FileNotFoundException的解決方案
在Java編程中,FileNotFoundException 是一種常見(jiàn)的受檢異常,通常發(fā)生在試圖打開(kāi)一個(gè)不存在的文件或文件路徑錯(cuò)誤時(shí),本文將詳細(xì)探討FileNotFoundException的成因、解決方案以及預(yù)防措施,幫助開(kāi)發(fā)者理解和避免此類問(wèn)題,需要的朋友可以參考下2024-06-06
Java?I/O?(Input/Output)文件字節(jié)流舉例詳解
Java的輸入輸出流(IO)是用于與外部設(shè)備(如文件、網(wǎng)絡(luò)連接等)進(jìn)行數(shù)據(jù)交互的機(jī)制,下面這篇文章主要給大家介紹了關(guān)于Java?I/O?(Input/Output)文件字節(jié)流的相關(guān)資料,需要的朋友可以參考下2024-08-08
Java if(boolean)和if(boolean=true)區(qū)別解析
這篇文章主要介紹了Java if(boolean)和if(boolean=true)區(qū)別解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02

