JSP中文验证码

 以上两篇文章的内容介绍了有关JSP中产生数字验证码中文验证码的源代码并做了分析,本文中介绍如何对以上产生的数字跟中文验证码进行使用,以及如何解决中文验证码的乱码无法正确验证的问题。
   对验证码的使用分为两个部分,分别为验证码的调用和验证过程,以下分别做说明介绍。
   一、在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

    {
       //验证码失败处理代码

    }
%> 

   以上为在JSP页面中的验证码生成以及使用处理的源码分析,在接下来的文章中将介绍下在Servlet中使用验证码程序。

猜你喜欢

转载自wezly.iteye.com/blog/1528516
今日推荐