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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Maven导入本地Kaptcha谷歌验证码并在程序中使用

發布時間:2023/12/29 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Maven导入本地Kaptcha谷歌验证码并在程序中使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題

在用Maven之前,kaptcha的jar包是下載后作為LIbrary導入項目的,但是在項目使用maven后,maven上不存在kaptcha的坐標,只能下載jar包到本地并添加到項目中。

然而問題是:maven只能打包pom.xml里面聲明的依賴,不能識別本地jar包。本文介紹把本地jkaptcha的jar包添加到pom.xml中,并在Java項目中使用的方法

解決方法

1. 下載jar包

kaptcha下載地址

下載kaptcha-2.3.2.jar包并解壓

2. maven安裝本地jar包

cmd進入jar包所在文件夾,輸入以下命令
注意:maven會根據安裝目錄的config目錄下的settings.xml中的倉庫地址來安裝jar包,要更改安裝到的倉庫位置(默認c盤)請自行百度

mvn install:install-file -DgroupId=com.google.code -DartifactId=kaptcha -Dversion=2.3.2 -Dfile=kaptcha-2.3.2.jar -Dpackaging=jar -DgeneratePom=true

3. 引入坐標

在pom.xml中引入坐標

<dependency><groupId>com.google.code</groupId><artifactId>kaptcha</artifactId><version>2.3.2</version></dependency>

4. 使用驗證碼功能

4.1 applicationContext.xml下配置bean

<bean id="captchaProducer" class="com.google.code.kaptcha.impl.DefaultKaptcha"><property name="config"><bean class="com.google.code.kaptcha.util.Config"><constructor-arg><props><prop key="kaptcha.border">yes</prop><prop key="kaptcha.border.color">105,179,90</prop><prop key="kaptcha.textproducer.font.color">blue</prop><prop key="kaptcha.image.width">125</prop><prop key="kaptcha.image.height">45</prop><prop key="kaptcha.textproducer.font.size">45</prop><prop key="kaptcha.session.key">code</prop><prop key="kaptcha.textproducer.char.length">4</prop><prop key="kaptcha.textproducer.font.names">宋體,楷體,微軟雅黑</prop></props></constructor-arg></bean></property></bean>

4.2 業務代碼

Controller層新建KaptchaController類

@Controller public class KaptchaController {@Autowiredprivate Producer captchaProducer;@RequestMapping("/kaptcha.jpg")public ModelAndView getKaptchaImage(HttpServletRequest request, HttpServletResponse response) throws Exception {HttpSession session = request.getSession();String code = (String)session.getAttribute(Constants.KAPTCHA_SESSION_KEY);System.out.println("******************驗證碼是: " + code + "******************");response.setDateHeader("Expires", 0);// Set standard HTTP/1.1 no-cache headers.response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");// Set IE extended HTTP/1.1 no-cache headers (use addHeader).response.addHeader("Cache-Control", "post-check=0, pre-check=0");// Set standard HTTP/1.0 no-cache header.response.setHeader("Pragma", "no-cache");// return a jpegresponse.setContentType("image/jpeg");// create the text for the imageString capText = captchaProducer.createText();// store the text in the sessionsession.setAttribute(Constants.KAPTCHA_SESSION_KEY, capText);// create the image with the textBufferedImage bi = captchaProducer.createImage(capText);ServletOutputStream out = response.getOutputStream();// write the data outImageIO.write(bi, "jpg", out);try {out.flush();} finally {out.close();}return null;}}

5. jsp中使用

<img id="code_img" alt="" src="kaptcha.jpg">

總結

以上是生活随笔為你收集整理的Maven导入本地Kaptcha谷歌验证码并在程序中使用的全部內容,希望文章能夠幫你解決所遇到的問題。

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