日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java笔记-使用Kaptcha验证码框架

發布時間:2025/3/15 java 84 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java笔记-使用Kaptcha验证码框架 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用Kaptcha這個驗證碼框架用起來,比自己寫簡單

首先設置maven項目:

<dependency><groupId>com.github.penggle</groupId><artifactId>kaptcha</artifactId><version>2.3.2</version></dependency>

然后配置WEB-INF下的web.xml

<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app><display-name>Archetype Created Web Application</display-name><servlet-mapping><servlet-name>kaptchaDemo</servlet-name><url-pattern>/kaptcha</url-pattern></servlet-mapping><servlet><servlet-name>kaptchaDemo</servlet-name><servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class><init-param><param-name>kaptcha.border</param-name><param-value>no</param-value></init-param><init-param><param-name>kaptcha.textproducer.font.color</param-name><param-value>red</param-value></init-param><init-param><param-name>kaptcha.image.width</param-name><param-value>80</param-value></init-param><init-param><param-name>kaptcha.image.height</param-name><param-value>30</param-value></init-param><init-param><param-name>kaptcha.textproducer.char.string</param-name><param-value>0123456789</param-value></init-param><init-param><param-name>kaptcha.textproducer.char.length</param-name><param-value>4</param-value></init-param><init-param><param-name>kaptcha.textproducer.char.space</param-name><param-value>3</param-value></init-param><init-param><param-name>kaptcha.textproducer.font.size</param-name><param-value>24</param-value></init-param> <!-- <init-param>--> <!-- <param-name>kaptcha.noise.impl</param-name>--> <!-- <param-value>com.google.code.kaptcha.impl.NoNoise</param-value>--> <!-- </init-param>--></servlet></web-app>

其中對應的jsp頁面如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head><base href="<%=basePath%>"><title>kaptchaDemo</title><style type="text/css">.code_a{color: #0000ff;font-size: 12px;text-decoration: none;cursor: pointer;}#imgCode{cursor: pointer;}</style><script type="text/javascript">function changeCode(){var imgCode = document.getElementById("imgCode");imgCode.src = "kaptcha?"+Math.random();}</script> </head><body> <form action="login" method="post"><label>驗證碼:</label><input type="text" id="inCode" name="inCode" /><img src="kaptcha" align="center" id="imgCode" onclick="changeCode()" /><a class="code_a" onclick="changeCode()">換一張</a><br /><input type="submit" value="登錄"/> </form> </body> </html>

這里src請求的是kaptcha的url。這里這個框架里面實現了一個Servlet,通過配置文件的方式,對某些屬性進行設置(這里不用說了,肯定是反射)

程序運行截圖如下:

輸入錯誤時,依舊是這個界面,但輸入正確后!

下面是關于他的驗證方面的代碼:

LoginServlet.java

import com.google.code.kaptcha.Constants;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException;@WebServlet(value = "/login") public class LoginServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doPost(request, response);}protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String vailCode = request.getSession().getAttribute(Constants.KAPTCHA_SESSION_KEY).toString().toLowerCase();String inCode = request.getParameter("inCode").toLowerCase();if(inCode.equals(vailCode)){response.sendRedirect("success.jsp");}else{String url = request.getHeader("Referer");response.sendRedirect(url);}} }

?

總結

以上是生活随笔為你收集整理的Java笔记-使用Kaptcha验证码框架的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。