이번 글에서는 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 값은 클래스의 참조@Resource가 kaptcha.session.key를 생성할 때의 이름입니다. 속성 구성 값은 세션의 액세스 이름입니다.
서블릿 노드의 컨트롤러 클래스에 관련 메서드를 구성합니다.
@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='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 속성 설명:
kaptcha.border.color 테두리 색상 기본값은 Color.BLACK
kaptcha.border.thickness 테두리 두께 기본값은 1
kaptcha.producer.impl 검증 코드 생성기 기본값은 DefaultKaptcha
kaptcha.textproducer.impl 검증 코드 텍스트 생성기 기본값은 DefaultTextCreator
kaptcha.textproducer.char.string 확인 코드 텍스트 문자 내용 범위 기본값은 abcde2345678gfynmnpwx
kaptcha.textproducer.char.length 확인 코드 텍스트 문자 길이 기본값은 abcde2345678gfynmnpwx 5
kaptcha.textproducer.font.names 인증 코드 텍스트 글꼴 스타일 기본값은 new Font("Arial", 1,fontSize), new Font("Courier", 1,fontSize)
kaptcha.textproducer.font.size 인증 코드 텍스트 문자 크기 기본값은 40
kaptcha.textproducer.font.color 인증 코드 텍스트 문자 색상 기본값 is Color.BLACK
kaptcha.textproducer.char.space 확인 코드 텍스트 문자 간격 기본값은 2
kaptcha.noise.impl 확인 코드 노이즈 생성 객체 기본값은 DefaultNoise
kaptcha.noise.color 확인 코드 노이즈 색상 기본값은 Color.BLACK
kaptcha.obscurificator.impl 확인 코드 스타일 엔진 기본값은 WaterRipple
kaptcha.word.impl 확인 코드 텍스트 문자 렌더링 기본값은 DefaultWordRenderer
kaptcha입니다. .Background.impl 확인 코드 배경 생성기 기본값은 DefaultBackground
kaptcha.Background.clear.from 확인 코드 배경색 그라데이션 기본값은 Color.LIGHT_GRAY
kaptcha.ground.clear.to 인증 코드 배경색 그라데이션 기본값은 Color.WHITE
kaptcha.image.width 인증 코드 이미지width 기본값 인증 코드 이미지 높이는 200
kaptcha.image.height입니다. 기본값은 50입니다.
[관련 권장 사항]
2. YMP 온라인 매뉴얼
균등 비례 썸네일 구현에 대한 Java 동영상 튜토리얼 사진
위 내용은 Kaptcha 구성 검증코드를 통해 생성된 Spring 코드 예시의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!