迷彩风情
2014-03-03 17:12:19
jsp中生成验证码,不用session也可以(主要是:思想)
jsp中生成的验证码和存在session里面的验证码不一致的处理
今天在调试项目的时候发现,在提交表单的时候的验证码有问题,问题是这样的:就是通过debug模式查看得知:jsp页面生成的验证码和表单输入的页面输入的一样,但是到后台执行的时候,你会发现他们是不一样的,现在上图看看:
1.这是表单提交的时候:
2.这是后台debug调试得到的Session里面生成的验证码:
3.这是后台得到手动输入的验证码:
这样的问题还是头一次出现,以前没遇到过,经过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;很重要啊
下面直接附上我的例子:
截图如下:
最后:代码是在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
- /CheckCode/src
- /CheckCode/src/cn
- /CheckCode/src/cn/gov
- /CheckCode/src/cn/gov/csrc
- /CheckCode/src/cn/gov/csrc/servlet
- /CheckCode/src/cn/gov/csrc
- /CheckCode/src/cn/gov
- /CheckCode/src/cn
- /CheckCode
相关代码
最近下载
阿三在中国 LV7
2019年8月13日
dsddfafsdfasdfs LV1
2018年12月25日
yuanduo LV1
2018年9月9日
唐唐丶 LV34
2018年8月11日
taoyi123 LV17
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 LV15
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日
暂无贡献等级