亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

如何通過Kaptcha在Web頁(yè)面生成驗(yàn)證碼

 更新時(shí)間:2020年10月17日 11:12:18   作者:cuisuqiang  
這篇文章主要介紹了如何通過Kaptcha在Web頁(yè)面生成驗(yàn)證碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

kaptcha 是一個(gè)擴(kuò)展自 simplecaptcha 的驗(yàn)證碼庫(kù),方便我們不再寫此類功能。

他的代碼是谷歌托管的,可以從這里下載http://code.google.com/p/kaptcha/

工程內(nèi)已經(jīng)附帶了示例,可以方便開發(fā)者使用。

需要的操作就是把kaptcha-2.3.2.jar增加到工程內(nèi),然后配置訪問圖片的Servlet:

示例中的配置是:

<servlet-mapping> 
 <servlet-name>Kaptcha</servlet-name> 
 <url-pattern>/Kaptcha.jpg</url-pattern> 
</servlet-mapping> 

也就是說訪問Kaptcha.jpg時(shí)其實(shí)就是訪問了輸出驗(yàn)證碼圖片的Servlet。

示例中的KaptchaExample.jsp是調(diào)用頁(yè)面,這里介紹了如何驗(yàn)證用戶輸入是否和驗(yàn)證碼符合。

但是沒有如何刷新的操作,刷新其實(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í)際開發(fā)中應(yīng)該注意這個(gè)問題。

做示例時(shí)使用的是kaptcha-2.3.2,見附件。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決FontConfiguration.getVersion報(bào)空指針異常的問題

    解決FontConfiguration.getVersion報(bào)空指針異常的問題

    這篇文章主要介紹了解決FontConfiguration.getVersion報(bào)空指針異常的問題,具有很好的參考價(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ò)誤解決方法

    這篇文章主要介紹了java eclipse 出現(xiàn) xxx cannot be resolved to a type 錯(cuò)誤解決方法的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • SpringBoot整合Netty心跳機(jī)制過程詳解

    SpringBoot整合Netty心跳機(jī)制過程詳解

    這篇文章主要介紹了SpringBoot整合Netty心跳機(jī)制過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • SpringBoot使用SensitiveWord實(shí)現(xiàn)敏感詞過濾

    SpringBoot使用SensitiveWord實(shí)現(xiàn)敏感詞過濾

    這篇文章主要為大家詳細(xì)介紹了SpringBoot如何使用SensitiveWord實(shí)現(xiàn)敏感詞過濾功能,文中示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-01-01
  • 詳述IntelliJ IDEA提交代碼前的 Code Analysis 機(jī)制(小結(jié))

    詳述IntelliJ IDEA提交代碼前的 Code Analysis 機(jī)制(小結(jié))

    本篇文章主要介紹了詳述IntelliJ IDEA提交代碼前的 Code Analysis 機(jī)制(小結(jié)),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-11-11
  • Java報(bào)錯(cuò):FileNotFoundException的解決方案

    Java報(bào)錯(cuò):FileNotFoundException的解決方案

    在Java編程中,FileNotFoundException 是一種常見的受檢異常,通常發(fā)生在試圖打開一個(gè)不存在的文件或文件路徑錯(cuò)誤時(shí),本文將詳細(xì)探討FileNotFoundException的成因、解決方案以及預(yù)防措施,幫助開發(fā)者理解和避免此類問題,需要的朋友可以參考下
    2024-06-06
  • Java?I/O?(Input/Output)文件字節(jié)流舉例詳解

    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
  • Maven打包跳過測(cè)試的三種方法

    Maven打包跳過測(cè)試的三種方法

    這篇文章主要介紹了Maven打包跳過測(cè)試的三種方法,幫助大家更好的理解和使用maven,感興趣的朋友可以了解下
    2020-11-11
  • Java基礎(chǔ)之二叉搜索樹的基本操作

    Java基礎(chǔ)之二叉搜索樹的基本操作

    發(fā)現(xiàn)許多小伙伴還不清楚Java二叉搜索樹的基本操作,今天特地整理了這篇文章,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)Java的小伙伴很有幫助,需要的朋友可以參考下
    2021-05-05
  • Java if(boolean)和if(boolean=true)區(qū)別解析

    Java if(boolean)和if(boolean=true)區(qū)別解析

    這篇文章主要介紹了Java if(boolean)和if(boolean=true)區(qū)別解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02

最新評(píng)論