この記事では主に、kaptcha を使用して検証コードを生成する Spring mvc の例を紹介し、Kaptcha を使用して検証コードを生成する手順を詳しく紹介します。興味がある方は詳細をご覧ください。
Kaptcha を使用して検証コードを生成するのは非常に簡単で、パラメーターも必要です。以下に使用手順を簡単に記録します。
1. pom.xml に Maven 依存関係を追加します:
<dependency> <groupId>com.google.code.kaptcha</groupId> <artifactId>kaptcha</artifactId> <version>2.3</version> <classifier>jdk15</classifier> </dependency>
2. web.xml で kaptcha 属性 を構成します:
<bean id="verifyCodeProducer" 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.border.thickness">1</prop> <prop key="kaptcha.noise.color">blue</prop> <prop key="kaptcha.image.width">150</prop> <prop key="kaptcha.image.height">50</prop> <prop key="kaptcha.session.key">verifyCode</prop> <!-- <prop key="kaptcha.textproducer.char.string">0123456789abcdefghijklmnopqrst!@#$%^*</prop> --> <prop key="kaptcha.textproducer.char.length">4</prop> <prop key="kaptcha.textproducer.char.space">4</prop> <prop key="kaptcha.textproducer.font.size">30</prop> <prop key="kaptcha.textproducer.font.color">blue</prop> </props> </constructor-arg> </bean> </property> </bean>
Bean ノード verifyCodeProducer の ID 値がクラス @ で参照されます。 リソース インスタンスを生成するときの名前。プロパティ設定の kaptcha.session.key の値は、セッションにアクセスするために使用される名前です。
を設定します。 3. servlet ノードのコントローラー クラスの関連メソッド:
@Controller public class CommonController { @Autowired private Producer verifyCodeProducer; @RequestMapping(path = "/getVerifyCodeImage", method = RequestMethod.GET) public void getVerifyCodeImage(HttpServletRequest request, HttpServletResponse response) { HttpSession session = request.getSession(); ResponseUtils.noCache(response); response.setContentType("image/jpeg"); String capText = verifyCodeProducer.createText(); session.setAttribute(Constants.SESSION_KEY_VERIFY_CODE, capText); BufferedImage bi = verifyCodeProducer.createImage(capText); ServletOutputStream out = null; try { out = response.getOutputStream(); ImageIO.write(bi, "jpg", out); out.flush(); } catch (Exception ex) { LOGGER.error("Failed to produce the verify code image: ", ex); throw new ServerInternalException("Cannot produce the verify code image."); } finally { IOUtils.closeQuietly(out); } } }
4.
jsp:
<p class="form-group has-feedback"> <span class="glyphicon glyphicon-barcode form-control-feedback"></span> <input id="verifyCode" name="verifyCode" type="text" maxlength="4" class="form-control" placeholder="<spring:message code='login.label.code' />" /> <p style="height: 1px"></p> <img src="${pageContext.request.contextPath}/getVerifyCodeImage" id="verifyCodeImage" style="margin-bottom: -3px" /> <a href="#" rel="external nofollow" onclick="changeVerifyCode()"><spring:message code='login.code.tip' /></a> </p>
function changeVerifyCode() { $('#verifyCodeImage').hide().attr('src', '${pageContext.request.contextPath}/getVerifyCodeImage?' + Math.floor(Math.random()*100) ).fadeIn(); event.cancelBubble=true; }
kaptcha.border.color 境界線の色 デフォルトはColor.BLACKです
デフォルトは DefaultKaptcha です
kaptcha.textProducer.impl 検証コード テキスト ジェネレーター デフォルトは DefaultTextCreator
kaptcha。 background.impl 検証コードの背景生成器 デフォルトは DefaultBackground です
3. 均等な比率の画像サムネイルの実装に関する Java ビデオチュートリアル
以上がkaptcha 構成検証コードによって生成された Spring コードの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。