最代码广告位
迷彩风情的gravatar头像
迷彩风情2014-03-03 17:12:19

jsp中生成验证码,不用session也可以(主要是:思想)

jsp中生成的验证码和存在session里面的验证码不一致的处理

今天在调试项目的时候发现,在提交表单的时候的验证码有问题,问题是这样的:就是通过debug模式查看得知:jsp页面生成的验证码和表单输入的页面输入的一样,但是到后台执行的时候,你会发现他们是不一样的,现在上图看看:

 

1.这是表单提交的时候:

jsp中生成验证码,不用session也可以(主要是:思想)

 

2.这是后台debug调试得到的Session里面生成的验证码:

jsp中生成验证码,不用session也可以(主要是:思想)

3.这是后台得到手动输入的验证码:

jsp中生成验证码,不用session也可以(主要是:思想)

这样的问题还是头一次出现,以前没遇到过,经过google,baidu,最后得知是这样的:因为加载jsp页面比加载session快一些

 

那怎么办才能解决这个办法呢,

又经过多次搜索,思考,实践,终于想出了个好办法

1.在jsp页面用js生成验证码并保存在变量中,验证码作为参数传到java(继承了HttpServlet)类

 

2.根据jsp页面中传过来的验证码画出一个有干扰线或干扰点的图片

 

3.在WEB-INF/web.xml中配置 servlet

 

4.在jsp页面调用配置好的servlet,一般是通过<img src="servlet名" id="code"/>调用

 

5.提交数据之前验证

<form onsubmit="return validate();"……/>

 

局部刷新验证码:<a href="#" onclick="javascript:show();return false;">看不清,换一张!</a>-----return false;很重要啊

下面直接附上我的例子:

截图如下:

jsp中生成验证码,不用session也可以(主要是:思想)

最后:代码是在MyEclipse10.0里面建立的,下载下来可以直接运行:


打赏

文件名:CheckCode.zip,文件大小:11.253K下载
  • /
      • /CheckCode
        • /CheckCode/.classpath
          • /CheckCode/.myeclipse
          • /CheckCode/.mymetadata
          • /CheckCode/.project
            • /CheckCode/.settings
              • /CheckCode/.settings/.jsdtscope
              • /CheckCode/.settings/org.eclipse.jdt.core.prefs
              • /CheckCode/.settings/org.eclipse.wst.common.component
              • /CheckCode/.settings/org.eclipse.wst.common.project.facet.core.xml
    最代码最近下载分享源代码列表最近下载
    阿三在中国 LV72019年8月13日
    月亮星星星星星星
    dsddfafsdfasdfs LV12018年12月25日
    星星
    yuanduo LV12018年9月9日
    星星
    唐唐丶 LV262018年8月11日
    太阳月亮月亮星星星星
    taoyi123 LV142017年8月4日
    月亮月亮月亮星星星星
    感动常在 LV122017年7月8日
    月亮月亮月亮
    lalalaslun LV12017年3月5日
    星星
    否极泰来 LV62016年12月1日
    月亮星星星星
    好我累个去哦 LV132016年11月4日
    月亮月亮月亮星星
    wneely LV12016年7月29日
    星星
    最代码最近浏览分享源代码列表最近浏览
    ljxljx123 LV21月28日
    星星星星
    17169735522019年11月16日
    暂无贡献等级
    wsl12345 LV62019年10月26日
    月亮星星星星
    wxm4252 LV102019年9月18日
    月亮月亮星星星星
    yanxin001 LV22019年9月18日
    星星星星
    阿三在中国 LV72019年8月13日
    月亮星星星星星星
    zxl13455 LV32019年7月8日
    星星星星星星
    aoaoDhl2019年6月26日
    暂无贡献等级
    pigone LV72019年6月13日
    月亮星星星星星星
    jaonsang LV232019年6月11日
    太阳月亮星星星星星星
    顶部客服微信二维码底部
    >扫描二维码关注最代码为好友扫描二维码关注最代码为好友