Maison  >  Article  >  Java  >  Exemple de code Spring généré via le code de vérification de la configuration kaptcha

Exemple de code Spring généré via le code de vérification de la configuration kaptcha

Y2J
Y2Joriginal
2017-05-05 15:19:181452parcourir

Cet article présente principalement spring mvc pour utiliser kaptcha pour générer des exemples de codes de vérification, et présente en détail les étapes d'utilisation de Kaptcha pour générer des codes de vérification. Ceux qui sont intéressés peuvent en apprendre davantage

Utiliser Kaptcha pour générer. les codes de vérification sont très simples et les paramètres peuvent être personnalisés, et les étapes d'utilisation sont simplement enregistrées ci-dessous.

1. Ajoutez une dépendance maven dans pom.xml :

<dependency>
  <groupId>com.google.code.kaptcha</groupId>
  <artifactId>kaptcha</artifactId>
  <version>2.3</version>
  <classifier>jdk15</classifier>
</dependency>

2. Configurez l'attribut kaptcha dans web.xml :

<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>

La valeur id du nœud du bean verifyCodeProducer est le nom lorsque dans la classe fait référence à @Resource lors de la génération de l'instance kaptcha dans ; la configuration de l'attribut. La valeur de session.key est le nom d'accès à la session.

Configurer

3. Méthodes pertinentes dans la classe du contrôleur dans le nœud

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 est la valeur de kaptcha.session.key dans la configuration de l'attribut.

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 description de l'attribut :

  1. kaptcha.border.color Couleur de la bordure La valeur par défaut est Color.BLACK

  2. kaptcha.border.thickness Épaisseur de la bordure La valeur par défaut est 1

  3. Code de vérification kaptcha.producer.implGénérateur La valeur par défaut est DefaultKaptcha

  4. kaptcha.textproducer.impl Générateur de texte de code de vérification La valeur par défaut est DefaultKaptcha DefaultTextCreator

  5. kaptcha.textproducer.char.string Code de vérification plage de contenu des caractères du texte La valeur par défaut est abcde2345678gfynmnpwx

  6. kaptcha.textproducer.char.length Code de vérification Longueur des caractères du texte La valeur par défaut est 5

  7. kaptcha.textproducer.font.names Style de police du texte du code de vérification La valeur par défaut est new Font("Arial", 1, fontSize), new Font("Courier" , 1, fontSize)

  8. kaptcha.textproducer.font.size Taille des caractères du texte du code de vérification La valeur par défaut est 40

  9. kaptcha.textproducer.font .color Couleur des caractères du texte du code de vérification La valeur par défaut est Color.BLACK

  10. kaptcha.textproducer.char.space Espacement des caractères du texte du code de vérification La valeur par défaut est 2

  11. kaptcha.noise.impl Génération de bruit de code de vérification objet La valeur par défaut est DefaultNoise

  12. kaptcha.noise.color Couleur du bruit du code de vérification La valeur par défaut est Color.BLACK

  13. kaptcha.obscurificator.impl Moteur de style de code de vérification La valeur par défaut est WaterRipple

  14. kaptcha.word.impl Rendu des caractères du texte du code de vérification La valeur par défaut est DefaultWordRenderer

  15. kaptcha.background.impl Générateur d'arrière-plan du code de vérification La valeur par défaut est DefaultBackground

  16. kaptcha.background.clear.from Dégradé de couleur d'arrière-plan du code de vérification La valeur par défaut est Color.LIGHT_GRAY

  17. kaptcha.background.clear.to Code de vérification dégradé de couleur d'arrière-plan La valeur par défaut est Color.WHITE

  18. kaptcha.image.width Code de vérification image La largeur par défaut est 200

  19. kaptcha.image.height Code de vérification hauteur de l'image par défaut est 50

[Recommandations associées]

1. Tutoriel vidéo gratuit Java

2 Manuel en ligne YMP

3. etc. Tutoriel vidéo miniature proportionnelle

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn