迷彩风情的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
    最代码最近下载分享源代码列表最近下载
    阿三在中国  LV7 2019年8月13日
    dsddfafsdfasdfs  LV1 2018年12月25日
    yuanduo  LV1 2018年9月9日
    唐唐丶  LV33 2018年8月11日
    taoyi123  LV16 2017年8月4日
    感动常在  LV12 2017年7月8日
    lalalaslun  LV1 2017年3月5日
    否极泰来  LV6 2016年12月1日
    好我累个去哦  LV15 2016年11月4日
    wneely  LV1 2016年7月29日
    最代码最近浏览分享源代码列表最近浏览
    sdfgsdfg  LV2 2023年10月23日
    kanro11 2023年5月10日
    暂无贡献等级
    yjdang  LV3 2023年3月27日
    taoshen95  LV13 2022年12月2日
    double_AI  LV1 2022年11月20日
    2998919365  LV5 2022年5月23日
    nbzhou2013  LV14 2022年4月10日
    JohnAlex  LV9 2022年2月22日
    welcome丶  LV8 2021年12月30日
    kangka1ang 2021年12月20日
    暂无贡献等级
    顶部 客服 微信二维码 底部
    >扫描二维码关注最代码为好友扫描二维码关注最代码为好友