Java圖形驗證碼開源軟件SimpleCaptcha

  

             Java中有很多開源小工具。本文講的是圖形驗證碼開源軟件SimpleCaptcha。

             更多的開源驗證碼小工具可以查看:點擊打開鏈接


1.準備工作

下載SimpleCaptcha所需要的jar包。

SimpleCaptcha for Java 6:點擊下載

SimpleCaptcha for Java 1.5:點擊下載


2.開始使用

  • 將下載好的jar包複製到工程下的WEB-INF/lib目錄下


  • 在web.xml中添加servlet的映射。SimpleCaptcha提供了4種servlet生成不同的驗證碼:StickyCaptchaServlet,SimpleCaptchaServlet, ChineseCaptchaServlet,AudioCaptchaServlet
  • 這裏需要注意的是:StickyCaptchaServlet,ChineseCaptchaServlet會“粘着”用戶的session,
  • 頁面重新加載將呈現相同的驗證碼,而不是一個新的。StickyCaptchaServlet映射的實例如下:
<servlet>
        <servlet-name>StickyCaptcha</servlet-name>
        <servlet-class>nl.captcha.servlet.StickyCaptchaServlet</servlet-class>
        <init-param>
            <param-name>width</param-name>
            <param-value>250</param-value>
        </init-param>
        <init-param>
            <param-name>height</param-name>
            <param-value>75</param-value>
        </init-param>
    </servlet>

    <servlet-mapping>
        <servlet-name>StickyCaptcha</servlet-name>
        <url-pattern>/stickyImg</url-pattern>
    </servlet-mapping>

AudioCaptchaServlet實例如下:
< servlet >
        < servlet-name >AudioCaptcha< / servlet-name >
        < servlet-class >nl.captcha.servlet.AudioCaptchaServlet< / servlet-class >
    < / servlet >

     < servlet-mapping >
        < servlet-name >AudioCaptcha< / servlet-name >
        < url-pattern >/ audio.wav< / url-pattern >
    < / servlet-mapping >

  • 打開瀏覽器,瀏覽HTTP://localhost:8080/ProjectName/stickyImg。如果一切都正確設置就會看到一個驗證碼
  • 現在創建一個JSP網頁,在<body>中添加以下代碼:
<img src="stickyImg" />
    <form action="captchaSubmit.jsp" method="post">
        <input name="answer" />
    </form>

或者音頻驗證碼代碼:
<audio controls autoplay src="/audio.wav"></audio>
    <form action="/captchaSubmit.jsp" method="post">
        <input name="answer" />
    </form>

  • 再創建一個網頁叫做:captchaSubmit.jsp,添加一下代碼:
<%@ page import="nl.captcha.Captcha" %>
    ...
    <% // We're doing this in a JSP here, but in your own app you'll want to put
    // this logic in your MVC framework of choice.
    Captcha captcha = (Captcha) session.getAttribute(Captcha.NAME);
    // Or, for an AudioCaptcha:
    // AudioCaptcha captcha = (AudioCaptcha) session.getAttribute(Captcha.NAME);
    request.setCharacterEncoding("UTF-8"); // Do this so we can capture non-Latin chars
    String answer = request.getParameter("answer");
    if (captcha.isCorrect(answer)) { %>
        <b>Correct!</b>
    <% } %>

  • 打開第一個創建的JSP網頁,輸入驗證碼,按回車鍵提交表單,驗證驗證碼的正確性。

自己寫了一個簡單的demo,供大家下載:點擊打開鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章