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.
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='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; }
5.kaptcha description de l'attribut :
kaptcha.border.color Couleur de la bordure La valeur par défaut est Color.BLACK
kaptcha.border.thickness Épaisseur de la bordure La valeur par défaut est 1
Code de vérification kaptcha.producer.implGénérateur La valeur par défaut est DefaultKaptcha
kaptcha.textproducer.impl Générateur de texte de code de vérification La valeur par défaut est DefaultKaptcha DefaultTextCreator
kaptcha.textproducer.char.string Code de vérification plage de contenu des caractères du texte La valeur par défaut est abcde2345678gfynmnpwx
kaptcha.textproducer.char.length Code de vérification Longueur des caractères du texte La valeur par défaut est 5
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)
kaptcha.textproducer.font.size Taille des caractères du texte du code de vérification La valeur par défaut est 40
kaptcha.textproducer.font .color Couleur des caractères du texte du code de vérification La valeur par défaut est Color.BLACK
kaptcha.textproducer.char.space Espacement des caractères du texte du code de vérification La valeur par défaut est 2
kaptcha.noise.impl Génération de bruit de code de vérification objet La valeur par défaut est DefaultNoise
kaptcha.noise.color Couleur du bruit du code de vérification La valeur par défaut est Color.BLACK
kaptcha.obscurificator.impl Moteur de style de code de vérification La valeur par défaut est WaterRipple
kaptcha.word.impl Rendu des caractères du texte du code de vérification La valeur par défaut est DefaultWordRenderer
kaptcha.background.impl Générateur d'arrière-plan du code de vérification La valeur par défaut est DefaultBackground
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
kaptcha.background.clear.to Code de vérification dégradé de couleur d'arrière-plan La valeur par défaut est Color.WHITE
kaptcha.image.width Code de vérification image La largeur par défaut est 200
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
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!