Maven(四):定製庫到Mave本地資源庫 (Kaptcha)

  1. 首先簡單介紹下Kaptcha:html

    kaptcha是一個擴展子simplecaptcha的驗證碼庫,在java編程中是一個很是實用的驗證碼生成工具。能夠利用這個工具生成各類樣式的驗證碼。雖然說它是個流行的第三那方Java庫,但它不在Maven的中央倉庫中。java

  2. kaptcha 的工做原理是調用 com.google.code.kaptcha.servlet.KaptchaServlet ,生成一個驗證碼圖片,響應到客戶端,同時將生成的驗證碼字符串放到 HttpSession 中。 web

  3. 接下就可定製庫到Maven本地資源庫:編程

    1. 首先下載jar包, 連接地址(吐槽不少次都沒進去成功。):http://code.google.com/p/kaptcha/downloads/listsession

      將其解壓後將文件中 kaptcha-version.jar  kaptcha-2.3.2.jar 複製到其餘地方 (好比  C盤根目錄下), 而後添加到本地Maven庫中命令(可根據本身狀況修改對應路徑) 以下: app

    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保持一致:dom

<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來完成)google

<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 the
                HttpSession. This is the key value for that item in the
                session.
            </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>

.......

相關文章
相關標籤/搜索