Heim  >  Artikel  >  Java  >  Spring-Codebeispiel, generiert durch Kaptcha-Konfigurationsüberprüfungscode

Spring-Codebeispiel, generiert durch Kaptcha-Konfigurationsüberprüfungscode

Y2J
Y2JOriginal
2017-05-05 15:19:181397Durchsuche

In diesem Artikel wird hauptsächlich die Verwendung von Kaptcha zum Generieren von Bestätigungscodes durch Spring MVC vorgestellt und die Schritte zur Verwendung von Kaptcha zum Generieren von Bestätigungscodes ausführlich vorgestellt.

Verwendung von Kaptcha zum Generieren Verifizierungscodes sind sehr einfach und die Parameter können angepasst werden, und die Verwendungsschritte werden unten einfach aufgezeichnet.

1. Maven-Abhängigkeit in pom.xml hinzufügen:

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

2. Kaptcha-Attribut in web.xml konfigurieren:

<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>
Der ID-Wert des Bean-Knotens „VerifyCodeProducer“ ist der Name, wenn

in der Klasse auf @Ressource verweist, wenn die Instanz generiert wird Die Attributkonfiguration. Der Wert von session.key ist der Zugriffsname in der Sitzung.

Konfigurieren Sie
3. Relevante Methoden in der Controller-Klasse im

Servlet

-Knoten:

@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 ist der Wert von kaptcha.session.key in der Attributkonfiguration.


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

  1. kaptcha.border.color Randfarbe Standard ist Color.BLACK

  2. kaptcha.border.thickness Randstärke Standard ist 1

  3. kaptcha.producer.impl Verification Code

    Generator Der Standardwert ist DefaultKaptcha

  4. kaptcha.textproducer.impl Verification Code Text Generator Der Standardwert ist DefaultKaptcha DefaultTextCreator

  5. kaptcha.textproducer.char.string Verifizierungscode Textzeicheninhaltsbereich Standard ist abcde2345678gfynmnpwx

  6. kaptcha.textproducer.char.length Verifizierungscode Textzeichenlänge Standard ist 5

  7. kaptcha.textproducer.font.names Bestätigungscode-Textschriftart Standard ist new Font("Arial", 1, fontSize), new Font("Courier" , 1, FontSize)

  8. kaptcha.textproducer.font.size Verifizierungscode-Textzeichengröße Der Standardwert ist 40

  9. kaptcha.textproducer.font .color Verifizierungscode-Textzeichenfarbe Standard ist Color.BLACK

  10. kaptcha.textproducer.char.space Verifizierungscode-Textzeichenabstand Standard ist 2

  11. kaptcha.noise.impl Verifizierungscode-Rauschenerzeugung

    Objekt Standard ist DefaultNoise

  12. kaptcha.noise.color Verifizierungscode-Rauschenfarbe Standard ist Color.BLACK

  13. kaptcha.obscurificator.impl Verifizierungscode-Stil-Engine Standard ist WaterRipple

  14. kaptcha.word.impl Verifizierungscode-Textzeichenwiedergabe Standard ist DefaultWordRenderer

  15. kaptcha.background.impl Verifizierungscode-Hintergrundgenerator Standard ist DefaultBackground

  16. kaptcha.background.clear.from Verifizierungscode-Hintergrundfarbverlauf Standard ist Color.LIGHT_GRAY

  17. kaptcha.background.clear.to Verifizierungscode Hintergrundfarbverlauf Standard ist Color.WHITE

  18. kaptcha.image.width Verifizierungscode

    Bild Breite ist standardmäßig 200

  19. kaptcha.image.height Bildhöhe des Bestätigungscodes ist standardmäßig 50

[Verwandte Empfehlungen]

1.

Kostenloses Java-Video-Tutorial

2.

YMP-Online-Handbuch

3. usw. Proportionales Miniaturbild-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSpring-Codebeispiel, generiert durch Kaptcha-Konfigurationsüberprüfungscode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn