Posted on 2010-04-28 09:57
帅子 阅读(545)
评论(0) 编辑 收藏 所属分类:
J2EE技术专区
对验证码的使用分为两个部分,分别为验证码的调用和验证过程,以下分别做说明介绍。
三、在JSP中调用验证码
使用验证码直接在图片处调用产生验证码的JSP文件即可,同时在刷新验证码按钮处的js代码中使用JSP验证码文件,页面源码如下。
<
form
id
=
"dForm"
method
=
post
action
=
"val.jsp"
>
<
ul
class
=
"sFrm"
>
<
li
><
b
></
b
><
img
id
=
"code"
border
=
0
src
=
"Num.jsp"
/><
input
type
=
"button"
value
=
"
看不清,换一张
"
onClick
=
"document.getElementById('code').src='ColorChinese.jsp'"
><
div
class
=
"clear0"
></
div
></
li
>
<
li
><
b
>
验证码
</
b
><
input
type
=
"text"
name
=
"input"
maxlength
=
8
value
=
""
styleClass
=
"sIpt itemFm"
><
div
class
=
"clear0"
></
div
></
li
>
<
li
class
=
"bar"
><
b
></
b
><
input
type
=
"submit"
value
=
"
验证测试
"
styleClass
=
"logbtn3"
></
li
>
</
ul
>
</
form
>
四、在JSP中验证码的验证过程以及中文乱码处理
获取用户输入的验证码并与Session中的验证码比较,相同即通过,否则拒绝,对于JSP中中文验证码的处理注意要在页面中定义JSP页面编码跟获取Session的字符编码一致,此处使用的是统一的GB2312编码,否则将出现验证码无法成功验证的情况。
val.jsp
<%@ page language="java" pageEncoding="GB2312" %>
<% request.setCharacterEncoding("gb2312");
//获取Session会话中缓存的验证码
String rand = (String)session.getAttribute("rand");
//获取用户输入的验证码
String input = request.getParameter("input");
if(rand==null||input==null)
{
//无输入验证码处理代码
} if (rand.equals(input)) {
//验证码对比成功
} else
{
//验证码失败处理代码
}
%>