为什么80%的码农都做不了架构师?>>>   

  1. 首先简单介绍下Kaptcha:

    kaptcha是一个扩展子simplecaptcha的验证码库,在java编程中是一个非常实用的验证码生成工具。可以利用这个工具生成各种样式的验证码。虽说它是个流行的第三那方Java库,但它不在Maven的中央仓库中。

  2. kaptcha 的工作原理是调用 com.google.code.kaptcha.servlet.KaptchaServlet ,生成一个验证码图片,响应到客户端,同时将生成的验证码字符串放到 HttpSession 中。

  3. 接下就可定制库到Maven本地资源库:

    1. 首先下载jar包, 链接地址(吐槽很多次都没进去成功。):http://code.google.com/p/kaptcha/downloads/list

      将其解压后将文件中 kaptcha-version.jar ( kaptcha-2.3.2.jar ) 复制到其他地方 (比如  C盘根目录下), 然后添加到本地Maven库中命令(可根据自己情况修改对应路径) 如下:

mvn install:install-file -DgroupId=com.google.code -DartifactId=kaptcha -Dversion=2.3.2 -Dfile=C:\kaptcha-2.3.jar -Dpackaging=jar -DgeneratePom=true

然后在  pom.xml 中配置,注意要和上面的groupId、artifactId和version保持一致:

<dependency><groupId>com.google.code</groupId><artifactId>kaptcha</artifactId><version>2.3.2</version></dependency>

最后便可在Libraries中看到如下:

4. 使用Kaptcha生成的验证码:

在web.xml中配置(使用Kaptcha 生成验证码十分简单并且参数可以进行自定义。只需添加jar包配置下就可以使用。kaptcha所有配置都可以通过web.xml来完成):

<servlet><servlet-name>Kaptcha</servlet-name><servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class><init-param><description>图片边框,合法值:yes , no</description><param-name>kaptcha.border</param-name><param-value>yes</param-value></init-param><init-param><description>边框颜色,合法值: r,g,b (and optional alpha) 或者white,black,blue.</description><param-name>kaptcha.border.color</param-name><param-value>black</param-value></init-param><init-param><description>边框厚度,合法值:>0</description><param-name>kaptcha.border.thickness</param-name><param-value>1</param-value></init-param><init-param><description>图片宽 160</description><param-name>kaptcha.image.width</param-name><param-value>180</param-value></init-param><init-param><description>图片高 32</description><param-name>kaptcha.image.height</param-name><param-value>50</param-value></init-param><init-param><description>图片实现类</description><param-name>kaptcha.producer.impl</param-name><param-value>com.google.code.kaptcha.impl.DefaultKaptcha</param-value></init-param><init-param><description>文本实现类</description><param-name>kaptcha.textproducer.impl</param-name><param-value>com.google.code.kaptcha.text.impl.DefaultTextCreator</param-value></init-param><init-param><description>文本集合,验证码值从此集合中获取</description><param-name>kaptcha.textproducer.char.string</param-name><param-value>1234567890abcdefghijklmnopqrstuvwxyz</param-value></init-param><init-param><description>验证码长度 5</description><param-name>kaptcha.textproducer.char.length</param-name><param-value>4</param-value></init-param><init-param><description>字体 Arial, Courier</description><param-name>kaptcha.textproducer.font.names</param-name><param-value>Arial, Courier</param-value></init-param><init-param><description>字体大小 40px.</description><param-name>kaptcha.textproducer.font.size</param-name><param-value>32</param-value></init-param><init-param><description>字体颜色,合法值: r,g,b 或者 white,black,blue.</description><param-name>kaptcha.textproducer.font.color</param-name><param-value>black</param-value></init-param><init-param><description>文字间隔 2</description><param-name>kaptcha.textproducer.char.space</param-name><param-value>2</param-value></init-param><init-param><description>干扰实现类</description><param-name>kaptcha.noise.impl</param-name><param-value>com.google.code.kaptcha.impl.NoNoise <!--  com.google.code.kaptcha.impl.DefaultNoise--> </param-value></init-param><init-param><description>干扰颜色,合法值: r,g,b 或者 white,black,blue.</description><param-name>kaptcha.noise.color</param-name><param-value>black</param-value></init-param><init-param><description>图片样式: 水纹com.google.code.kaptcha.impl.WaterRipple鱼眼com.google.code.kaptcha.impl.FishEyeGimpy阴影com.google.code.kaptcha.impl.ShadowGimpy</description><param-name>kaptcha.obscurificator.impl</param-name><param-value>com.google.code.kaptcha.impl.WaterRipple</param-value></init-param><init-param><description>背景实现类</description><param-name>kaptcha.background.impl</param-name><param-value>com.google.code.kaptcha.impl.DefaultBackground</param-value></init-param><init-param><description>背景颜色渐变,开始颜色</description><param-name>kaptcha.background.clear.from</param-name><param-value>green</param-value></init-param><init-param><description>背景颜色渐变,结束颜色</description><param-name>kaptcha.background.clear.to</param-name><param-value>white</param-value></init-param><init-param><description>文字渲染器</description><param-name>kaptcha.word.impl</param-name><param-value>com.google.code.kaptcha.text.impl.DefaultWordRenderer</param-value></init-param><init-param><description>session中存放验证码的key键</description><param-name>kaptcha.session.key</param-name><param-value>KAPTCHA_SESSION_KEY</param-value></init-param><init-param><description>The date the kaptcha is generated is put into theHttpSession. This is the key value for that item in thesession.</description><param-name>kaptcha.session.date</param-name><param-value>KAPTCHA_SESSION_DATE</param-value></init-param></servlet><servlet-mapping><servlet-name>Kaptcha</servlet-name><url-pattern>/randomcode.jpg</url-pattern></servlet-mapping>

.......

转载于:https://my.oschina.net/gently/blog/631738

Maven(四):定制库到Mave本地资源库 (Kaptcha)相关推荐

  1. maven 学习---Maven本地资源库

    Maven的本地资源库是用来存储所有项目的依赖关系(插件jar和其他文件,这些文件被Maven下载)到本地文件夹. 很简单,当你建立一个Maven项目,所有相关文件将被存储在你的Maven本地仓库. ...

  2. Maven学习(三)-----Maven本地资源库

    Maven本地资源库 Maven的本地资源库是用来存储所有项目的依赖关系(插件jar和其他文件,这些文件被Maven下载)到本地文件夹.很简单,当你建立一个Maven项目,所有相关文件将被存储在你的M ...

  3. Maven删除本地资源库中lastUpdate和repositories文件

    Maven删除本地资源库中lastUpdate和repositories文件 文章目录 一.编写bat 1.删除Maven本地资源库中.lastUpdated的文件.bat 2.删除Maven本地资源 ...

  4. maven 加入第三方库_关于maven,你还要翻阅多少资料才能整理出这一份完整文档...

    一.介绍 Maven是一款Apache基金会下的项目构建工具,可以用来任何基于Java的项目,遵循约定由于配置的思想,能够大大简化我们工作中繁琐的项目构建.官网地址:http://maven.apac ...

  5. 本地资源库,中央资源库,远程资源库的介绍

    转载至:https://blog.csdn.net/u011066470/article/details/51218028 1.Maven的本地资源库:用来存储所有项目的依赖关系(插件jar和其他ja ...

  6. python爬虫(四)_urllib2库的基本使用

    python爬虫(四)_urllib2库的基本使用 本篇我们将开始学习如何进行网页抓取,更多内容请参考:python学习指南 urllib2库的基本使用 所谓网页抓取,就是把URL地址中指定的网络资源 ...

  7. maven 加入第三方库_maven 手动添加第三方的jar包

    maven项目手动引入第三方jar包项目打包 项目有时候需要依赖第三方jar包,一般会去maven仓库寻找坐标,但有时候maven仓库并没有提供,我们需要手动下载jar包并导入项目. maven库中并 ...

  8. Maven中的库(repository)详解

    Maven中的库(repository)是构件(artifact)的集合.构件以一定的布局存储在库中. Maven中的库(repository)可以分为本地库和远程库.本地库在安装Maven的计算机上 ...

  9. Maven 手动添加 JAR 包到本地仓库

    转载自:http://www.blogjava.net/fancydeepin/archive/2012/06/12/380605.html Maven 手动添加 JAR 包到本地仓库 Maven 确 ...

最新文章

  1. Android之创建简单的ProgressDialog
  2. 沉浸式ui设计_有助于沉浸的视频游戏UI —武器轮
  3. 通用业务流水号功能设计
  4. oracle to char trim,to_char前面多出空格
  5. android 本地资源 uri,Android 本地文件选择
  6. IIAI CVPR 2019 跟踪、检测、分割论文荐读
  7. SpringBoot注解@Component、Repository、Service、Controller的含义
  8. 开放源代码不得不知的一些事情
  9. win7原版系统安装及基本设置
  10. python小学口算题库生成器_口算题自动生成的小程序-L.A.SMILE自家用软件-口算题生成下载20060207-西西软件下载...
  11. 使用conda安装pytorch时出现问题CondaSSLError: OpenSSL appears to be unavailable on this machine.
  12. 用PYTHON做一个动态钟表
  13. vs 2013 必须先停止生成方可关闭解决方案
  14. 蓝牙的Baseband说明
  15. 采购订单限价(包含阶梯价)ME_PROCESS_PO_CUST
  16. 网络中常用的队列管理方法比较
  17. 2020年校招[随手更新]
  18. 星球专享 | 播放器 FFmpeg 依赖库的配置
  19. 小白白也能学会的 PyQt 教程 —— 图像类及图像相关基础类介绍
  20. android studio 使用第三方so库

热门文章

  1. cocos2dx-3 addImageAsync陷阱
  2. Javascript创建类的七种方法
  3. 两数相乘结果溢出的判断
  4. 好朋友简简单单,好情谊清清爽爽,好缘份久久长长
  5. 升级后供电不足故障解决攻略
  6. FreeMarker快速上手
  7. ibm服务器hyper-v搭建的虚拟机操作系统数据如何导出到本机,将虚拟机从Hyper-V转移到KVM|导出完整vhdx磁盘转换qcow2...
  8. android多语言编码格式,AndroidXml2Xls
  9. Nacos源码服务发现
  10. 基于Xml 的IOC 容器-将配置载入内存