日期:2014-05-19  浏览次数:20862 次

验证码怎么搞出来的,并且如何获取值
验证码出来了,但是无法获取值,帮我以下,好吗?

------解决方案--------------------
你用什么方法弄出值的?
你想在什么地方获得?
------解决方案--------------------
写一个SERVLET.以前写过一个.不过在家里电脑上.
------解决方案--------------------
把你的验证码值用setAttribute( "ram ", sRand);
取得时候用getAttribute( "ram ");

试试看!
------解决方案--------------------
验证码显示在页面,同时在页面设计的时候增加一个隐藏的input,后台获取这个隐藏的input的值,这样就和用户输入的值进行比较就可以了
------解决方案--------------------
建议去百度或者google搜一下
------解决方案--------------------
验证码就是图片,随机把图片组合显示出来
然后在客户端还是服务器端校验就看你的爱好了,在客户端的话就加个隐藏字段
------解决方案--------------------
证码实际上就是随机选择一些字符以图片的形式展现在页面上,如果进行提交操作的同时需要将图片上的字符同时提交,如果提交的字符与服务器session保存的不同,则认为提交信息无效。为了避免自动程序分析解析图片,通常会在图片上随机生成一些干扰线或者将字符进行扭曲,增加自动识别的难度。

在这里,我们使用servlet来实现随机验证码的实现。

package com.servlet;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.util.Random;

import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
* 生成随机验证码
* @author bitiliu
*
*/
public class ValidateCodeServlet extends HttpServlet
{

private static final long serialVersionUID = 1L;

//验证码图片的宽度。
private int width=60;
//验证码图片的高度。
private int height=20;
//验证码字符个数
private int codeCount=4;


private int x=0;
//字体高度
private int fontHeight;
private int codeY;

char[] codeSequence = { 'A ', 'B ', 'C ', 'D ', 'E ', 'F ', 'G ', 'H ', 'I ', 'J ',
'K ', 'L ', 'M ', 'N ', 'O ', 'P ', 'Q ', 'R ', 'S ', 'T ', 'U ', 'V ', 'W ',
'X ', 'Y ', 'Z ', '0 ', '1 ', '2 ', '3 ', '4 ', '5 ', '6 ', '7 ', '8 ', '9 ' };

/**
* 初始化验证图片属性
*/
public void init() throws ServletException
{
//从web.xml中获取初始信息
//宽度
String strWidth=this.getInitParameter( "width ");
//高度
String strHeight=this.getInitParameter( "height ");
//字符个数
String strCodeCount=this.getInitParameter( "codeCount ");

//将配置的信息转换成数值
try
{
if(strWidth!=null && strWidth.length()!=0)
{
width=Integer.parseInt(strWidth);
}
if(strHeight!=null && strHeight.length()!=0)
{
height=Integer.parseInt(strHeight);
}
if(strCodeCount!=null && strCodeCount.length()!=0)
{
codeCount=Integer.parseInt(strCodeCount);
}
}
catch(NumberFormatException e)
{}

x=width/(codeCount+1);
f