ホームページ  >  記事  >  Java  >  kaptcha 構成検証コードによって生成された Spring コードの例

kaptcha 構成検証コードによって生成された Spring コードの例

Y2J
Y2Jオリジナル
2017-05-05 15:19:181452ブラウズ

この記事では主に、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);
    }
  }
}

Constants.SESSION_KEY_VERIFY_CODE は、属性設定の kaptcha.session.key の値です。

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=&#39;login.label.code&#39; />" />
  <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=&#39;login.code.tip&#39; /></a>
</p>
function changeVerifyCode() {
  $(&#39;#verifyCodeImage&#39;).hide().attr(&#39;src&#39;, &#39;${pageContext.request.contextPath}/getVerifyCodeImage?&#39; + Math.floor(Math.random()*100) ).fadeIn(); 
  event.cancelBubble=true; 
}

5.kaptcha属性の説明:

kaptcha.border.color 境界線の色 デフォルトはColor.BLACKです

    kapt cha.border。太さ 境界線の太さデフォルトは 1 です
  1. kaptcha.Producer.impl 検証コード
  2. ジェネレーター

    デフォルトは DefaultKaptcha です

  3. kaptcha.textProducer.impl 検証コード テキスト ジェネレーター デフォルトは DefaultTextCreator

  4. kaptcha です。 .char.string 検証コードのテキスト文字内容の範囲 デフォルトは abcde2345678gfynmnpwx です
  5. kaptcha.textProducer.char.length 検証コードのテキストの文字長 デフォルトは 5 です
  6. kaptcha.textProducer.font.names 検証コードのテキストのフォントスタイル デフォルトは new Font("Arial ", 1, fontSize), new Font("Courier", 1, fontSize)
  7. kaptcha.textProducer.font.size 検証コードの文字サイズ デフォルトは40です
  8. kaptcha.textProducer.font.color 検証コード テキスト文字の色のデフォルトは color.black
  9. kaptcha.textProducer.char.space 検証コード テキストの文字間隔のデフォルトは 2
  10. kaptcha.noise.impl 検証コード ノイズ生成
  11. デフォルトは defaultNoise を信じます

  12. kaptcha.noise .color 検証コードのノイズカラー デフォルトは Color.BLACK

    kaptcha.obscurificator.impl 検証コードスタイルエンジン デフォルトは WaterRipple
  13. kaptcha.word.impl 検証コードのテキスト文字レンダリング デフォルトは DefaultWordRenderer
  14. kaptcha。 background.impl 検証コードの背景生成器 デフォルトは DefaultBackground です
  15. kaptcha.background.clear.from 検証コードの背景色のグラデーション デフォルトは Color.LIGHT_GRAY
  16. kaptcha.background.clear.to 検証コードの背景色 Progressive デフォルトは Color .WHITE
  17. kaptcha.image.width 認証コード
  18. image
  19. 幅 デフォルトは200

  20. kaptcha.image.height 認証コード画像の高さ デフォルトは50

    【関連推奨事項】
  21. 1.ジャワ無料のビデオチュートリアル

  22. 2.
YMP オンラインマニュアル

3. 均等な比率の画像サムネイルの実装に関する Java ビデオチュートリアル

以上がkaptcha 構成検証コードによって生成された Spring コードの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。