Maven导入本地Kaptcha谷歌验证码并在程序中使用
生活随笔
收集整理的這篇文章主要介紹了
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盤)請自行百度
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谷歌验证码并在程序中使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于SpringBoot的开源免费微信管
- 下一篇: 中国高频变频器及压缩机类负载应用市场发展