В этой статье используется конкретный код интегрированного кода проверки Kaptcha для вашей ссылки. Конкретный контент заключается в следующем
1. Капча, связанное с введением
Kaptcha - это проект с открытым исходным кодом для проверки, основанный на Simplecaptcha.
2. Интеграционное решение
① Зависимости конфигурации в pom.xml
<!-код проверки-> <Dependency> <groupId> com.github.penggle </GroupId> <strifactid> kaptcha </artifactid> <sersive> 2.3.2 </version> </depertion>
②configure Проверка код
@Configurationpublic class kaptchaconfig {@bean (name = "captchaproducer") public defaultkaptcha getkaptchabean () {defaultkaptcha defaultkaptcha = new DefaultKaptcha (); Свойства свойства = новые свойства (); Properties.SetProperty ("kaptcha.border", "Да"); Properties.SetProperty ("kaptcha.border.color", "105,179,90"); Properties.SetProperty ("kaptcha.textProducer.font.color", "Blue"); Properties.SetProperty ("kaptcha.image.width", "125"); Properties.SetProperty ("kaptcha.image.height", "45"); Properties.SetProperty ("kaptcha.session.key", "code"); Properties.SetProperty ("kaptcha.textProducer.char.length", "4"); Properties.SetProperty ("kaptcha.textproducer.font.names", "Song Font, Kai Font, Microsoft Yahei"); Config config = new config (свойства); defaultkaptcha.setConfig (config); вернуть DefaultKaptcha; }}или
Создайте файл mykaptcher.xml в рамках ресурсов
<? xml version = "1.0" Encoding = "UTF-8"?> <Beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id = "captchaproducer"> <property name = "> <bean> <bean> type = "java.util.properties"> <props> <prop key = "kaptcha.border"> yes </prop> <prop key = "kaptcha.border.color"> 105,179,90 </prop> <prop key = "kaptcha.textproducer.font.color"> Blue </prop> <prop. key = "kaptcha.image.width"> 100 </prop> <prop key = "kaptcha.image.height"> 50 </prop> <prop key = "kaptcha.image.height"> 50 </prop> <prop key = "kaptcha.image.height"> 50 </prop> <prop key = "kaptcha. key = "kaptcha.textproducer.font.color"> blue </prop> <prop key = "kaptcha.image.width"> 100 </prop> <prop key = "kaptcha.image.height"> 50 </prop> <prop key = "kaptcha.textproducer.font.size"> 27 </prop> <prop key = "kaptcha.session.key"> code </prop> <prop key = "kaptcha.textproducer.char.length"> 4 </prop> <prop key = "kaptcha.textproducer.font.names"> song font, kai font, microsoft yahei </prop> < key = "kaptcha.textproducer.char.string"> 23456789abcefghjkmnopqrstuvwxyz </prop> <prop key = "kaptcha.obscurificator.impl"> com.google.code.kaptcha.Impl.Impl.compliple </prop> <prop quee = "kaptcha.colis.colise.colis.colis.colis.colis.colis.colis.colis.colis.colis.colis.colis.colis.colis.colis.colis.colis.colis.colis.colis.colis. key = "kaptcha.noise.impl"> com.google.code.kaptcha.impl.nonoise </prop> <!-<prop key = "kaptcha.noise.impl"> com.google.code.kaptcha.impl.defaultnoise </prop>-> key = "kaptcha.background.clear.from"> 185,56,213 </prop> <prop key = "kaptcha.background.clear.to"> white </prop> <prop key = "kaptcha.textproducer.char.space"> 3 </prop> </props> </conturetro-arg> </bean> </beans> </beans> </beans> </beans> </beans> </beans> </beans> </bean> </beans> </bean> </bean> </beans> </bean> </bean> </beans>
Затем загрузите конфигурацию в приложении класса запуска
@EnableTransActionManagement // начало управление транзакциями аннотации, что эквивалентно методу конфигурации XML <TX: Annotation-raven/>@SpringBootApplication@EnvestAling // Запуск аннотации задача @mapperscan (basepackages = "com.shawn.mapper")@importresource (locations = {"classpath: mykaptcha.xml"}) Приложение открытого класса расширяет Springbootservletinitializer {public static void main (string [] args) бросает исключение {springapplication.run (application.class, args); }}Оба метода конфигурации доступны в Springboot;
③kaptchacontroller
@Commonslog @controllerpublic class kaptchacontroller extends basecontroller {@autowired частного продюсера Captchaproducer; @Getmapping ("/getkaptChaimage") public void getKaptChaimage () Throws exception {response.setDateHeader ("истекает", 0); // Установить стандартные заголовки http/1.1 без кэша. response.setheader («Контроль кэша», «без магазина, без качания, обязательно-ревалидат»); // Установить IE расширенные заголовки HTTP/1.1 без Cache (используйте Addheader). response.addheader ("Cache-Control", "post-check = 0, pre-check = 0"); // Установить стандартный заголовок http/1.0 без Cache. response.setheader ("pragma", "без Cache"); // возврат jpeg response.setContentType ("Image/jpeg"); // Создать текст для изображения String captext = captchaproducer.createText (); // хранить текст в сеансе //Request.getSession().setattribute(constants.kaptcha_session_key, captext); // Сохранить код проверки в сеанс сеанса.setattribute (constants.kaptcha_session_key, captext); log.info (captext); // Создать изображение с текстовым BufferedImage bi = captchaproducer.createimage (captext); ServletOutputStream OUT = response.getOutputStream (); // написать данные out imageio.write (bi, "jpg", out); try {out.flush (); } наконец {out.close (); }}}3. Проверьте эффект
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.