`
xiaoxin5230
  • 浏览: 88740 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

验证码之SimpleCaptcha (一)

    博客分类:
  • j2ee
阅读更多
     在captcha中,两个比较著名的框架验证码有Jcaptcha和simpleCaptcha,Jcaptcha太庞大了,所以我选择了简单的SimpleCaptcha
      simpleCaptcha是一个用于随机生成验证码的一个java框架,它为验证码提供简单的实现。提供很多图形的自定
义。它对中文也提供了很好的支持

     下面将简单的将验证码加入到你的项目中

         1.  下载SimpleCapcha  http://simplecaptcha.sourceforge.net

         2.   复制jar文件到你项目的WEB-INF/lib目录下

         3.  在你web.xml中增加以下配置:

<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>  

         4.  重启你的服务器。然后访问http://localhost:8080/stic就可以看到效果了 

             是不是感觉很简单呢?下面做几个界面出来看看效果吧

         5.   现在创建一个jsp叫做captcha.jsp,将下面代码放入你的你的<body>中

 <img src="/stickyImg" />  
    <form action="/captchaSubmit.jsp" method="post">  
        <input name="answer" />  
        <input type="submit" name="submit"/>  
</form>
 
         6.   创建captchaSumit.jsp页面
<%@ page import="nl.captcha.Captcha" %>  
    ...  
    <%  
    Captcha captcha = (Captcha) session.getAttribute(Captcha.NAME);  
    request.setCharacterEncoding("UTF-8");  
    String answer = request.getParameter("answer");  
    if (captcha.isCorrect(answer)) { %>  
        <b>Correct!</b>  
<% } %> 

         7.   浏览captcha.jsp.页面,然后你可以看到效果了。这样一个简单的验证码就很快加入到你的项目中了。超级简单吧。

说明:
web.xml中:

      1)过滤器类nl.captcha.servlet.StickyCaptchaServlet,生成图片是交给这个类去处理的。其实还有其他几个过滤器也可以供我们来调用。

      StickyCaptchaServlet:随机生成5个字符(数字+字母) 结果会放在session中存储,刷新页面不会改变值,继承simpleCaptchaServlet。

      ChineseCaptchaServlet :随机生成5个中文字符,结果也会放入session中存储,刷新页面不会改变值,继承simpleCaptchaServlet。

      SimpleCaptchaServlet: :随机数生成5个字符(数字+字母)放在page中,页面刷新会重新生成。

      2)width和height分别是图片的宽度和高度。

如果你还对验证码有更高的要求,比如图片的大小,颜色,背景等等,那么就需要自己去扩展。

验证码之SimpleCaptcha (二)
http://www.iteye.com/topic/790038
分享到:
评论
9 楼 851228082 2015-07-15  
怎样控制字符的坐标?
8 楼 macrotea 2010-10-22  
学习了,路过了,我去open-open看下有啥好的开源项目
7 楼 macrotea 2010-10-22  
xiaoxin5230 写道
发了好多次终于发上来了,javaeye的编辑器真难用。。

跟网站管理员说一下阿,要不不方便我们发帖子
6 楼 hypercube1024 2010-10-22  
我也用的kaptcha,感觉还是kaptcha最好用
5 楼 xiaoxin5230 2010-10-22  
ray_linn 写道
SimpleCaptcha的代码很烂:

Captcha c=new Captcha(100,200).builder();


这个Captcha又有构造函数,又有builder()方法,而且wiki还注明builder一定要跑...@#$#$%^@。

如果需要集成到Spring里就给自己增加麻烦,kaptcha是基于SimpleCaptcha的发展,推荐用它。


谢谢ray_linn的回复, 看了一下kaptcha,原来是扩展simpleCaptacha的,看了一下web.xml,确实比较好用。我做的那个扩展确实没那么实用。
4 楼 xiaoxin5230 2010-10-22  
gzfreeman 写道
要增加验证码的字符的话,是不是只能扩展simpleCaptchaServlet来实现?

是的,默认的是5个字符。
如果需要扩展可以参考http://www.iteye.com/topic/790038#1719862
3 楼 ray_linn 2010-10-22  
SimpleCaptcha的代码很烂:

Captcha c=new Captcha(100,200).builder();


这个Captcha又有构造函数,又有builder()方法,而且wiki还注明builder一定要跑...@#$#$%^@。

如果需要集成到Spring里就给自己增加麻烦,kaptcha是基于SimpleCaptcha的发展,推荐用它。
2 楼 gzfreeman 2010-10-22  
要增加验证码的字符的话,是不是只能扩展simpleCaptchaServlet来实现?
1 楼 xiaoxin5230 2010-10-20  
发了好多次终于发上来了,javaeye的编辑器真难用。。

相关推荐

    验证码框架simplecaptcha

    验证码框架SimpleCaptcha是Java开发中用于生成验证码的工具,旨在简化验证码的创建过程,提高开发效率。在Web应用中,验证码是一种常见的安全机制,用于防止自动化的恶意操作,如机器人注册、刷票等。SimpleCaptcha...

    SimpleCaptcha验证码组件使用

    SimpleCaptcha是一款开源的Java验证码库,它提供了生成图像验证码的功能,支持自定义长度、颜色、字体等参数,使得验证码既具有较高的安全性,又保持了良好的用户体验。它的主要特点是代码简洁,易于集成到各类项目...

    SimpleCaptcha验证码

    可以生成各种样式的java验证码,使用非常方便。

    kaptcha 验证码demo,附simplecaptcha

    Kaptcha是一个开源Java库,用于生成复杂的图像验证码,而SimpleCaptcha是另一种简洁的Java验证码实现。在这篇文章中,我们将深入探讨这两个工具及其在Java Web开发中的应用。 **Kaptcha** Kaptcha是由Google开发的...

    java驱动包 SimpleCaptcha-1.1.1 验证码

    java驱动包,SimpleCaptcha-1.1.1, 验证码,图形生成器 java驱动包,SimpleCaptcha-1.1.1, 验证码,图形生成器 java驱动包,SimpleCaptcha-1.1.1, 验证码,图形生成器 java驱动包,SimpleCaptcha-1.1.1, 验证码,图形生成器 ...

    simplecaptcha验证码

    NULL 博文链接:https://zhangli-lisa.iteye.com/blog/389153

    simplecaptcha-1.2.1 jar包

    simplecaptcha-1.2.1验证码

    Laravel开发-simplecaptcha

    `simplecaptcha`则是针对Laravel设计的一个轻量级验证码解决方案,尤其适用于Laravel 4版本。 ### 1. 安装`simplecaptcha` 首先,你需要通过Composer来安装`simplecaptcha`包。在你的项目根目录下打开终端,然后...

    SimpleCaptcha生成图形验证码-附件资源

    SimpleCaptcha生成图形验证码-附件资源

    验证码登陆例子

    4. **验证服务**:生成的验证码会存储一个临时的校验值,用户输入后与之比较,以验证输入是否正确。 在实际的登录系统中,使用`simplecaptcha`的步骤大致如下: 1. **生成验证码**:当用户请求登录页面时,服务器...

    Python-AwesomeCaptcha验证码及其识别库大全

    1. **Captcha**: 这是Python中最常用的验证码生成库之一,它提供了丰富的选项来定制验证码的样式,如字体、颜色、噪声等。通过这个库,开发者可以轻松地在自己的应用中集成自定义的图像验证码。 2. **pyTesseract**...

    java 上传和验证码 源码

    在Java中实现验证码可以使用多种方法,例如使用开源库如 JCaptcha 或 SimpleCaptcha。不过,由于描述中提到的是"验证码源码",我们可以假设这是自定义实现的简单版本。一个基本的实现可能包括以下步骤: - 生成随机...

    java 验证码登录

    Java中的Captcha库(如JCaptcha或SimpleCaptcha)可以帮助我们创建随机的图像验证码。这些库提供了生成不同类型的验证码,包括字母、数字、扭曲图像等,同时还可以调整字体、颜色、噪声等因素以增加破解难度。生成的...

    Java后端生成图片验证码

    在Java后端,我们可以使用多种库,如` JCaptcha` 或 `SimpleCaptcha`,来生成随机的图像验证码。这些库提供了一套API,可以自定义验证码的长度、字体、颜色、背景等属性。生成验证码时,首先创建一个包含随机字符的...

    capture_easy:一个golang实现简单的验证码识别程序

    4. **字符分割**:识别验证码的关键步骤之一是将连体或交错的字符分开。这可能涉及到边缘检测、连通组件分析等图像处理技术。 5. **OCR(光学字符识别)**:`capture_easy`可能采用了简单的OCR算法,如模板匹配或...

    java验证码/servlet

    - `SimpleCaptcha`:这是一个轻量级库,易于集成,能快速生成基本的验证码图片。 3. **Servlet**: Servlet是Java EE的一部分,用于扩展服务器的功能,处理HTTP请求。在验证码的实现中,Servlet通常用于接收客户端...

    java验证码

    SimpleCaptcha是一个轻量级的验证码库,适合快速实现简单的文本和图像验证码功能。它提供了生成随机字符串、绘制文本、添加噪声等功能,使用起来较为直观,适合初学者和小型项目。 **3. EasyCaptcha** EasyCaptcha...

Global site tag (gtag.js) - Google Analytics