jsp参考servlet生成验证码演示代码

这个演示代码包括以下三个部分:
1.checkcode.java:用于生成验证码
2.checkcodeservler
3.check.jsp验证

以下是checkcode.java内容:

复制代码代码如下所示:
用于获取四位随机数
私人maptable { } = {字符'0'、'1',2,3,4,5,6,7,8。

生成代码,并返回一个随机生成的数字。
公共字符串(宽度,高度getensure int,OutputStream OS){
如果(宽度0)
宽度= 60;
如果(身高0)
高度= 20;

BufferedImage图像=新的BufferedImage(宽度,高度,type_int_rgb BufferedImage。);

获取图形上下文
图G = image.getgraphics();

设置背景色
g.setcolor(新的颜色(0xdccccc));
g.fillrect(0, 0,宽度,高度);

绘制框
G.setColor(颜色。黑色);
g.drawrect(0, 0,宽度1,高度1);

获取随机生成的验证码
字符串strensure ;

4 4核查码的代表
对于(int = i 0;i < 4;+ i i){
strensure = maptable {(int)(maptable。长度)(*数学。随机)};
}

身份验证代码是图像显示。
g.setcolor(颜色。红色);
g.setfont(新字体(大西洋内联

特定坐标
字符串strensure.substring(0, 1);
G.drawString(STR,8, 14);
STR = strensure.substring(1, 2);
G.drawString(STR,20, 15);
STR = strensure.substring(2, 3);
G.drawString(STR,35, 18);
STR = strensure.substring(3, 4);
G.drawString(STR,45, 15);

发布/图形上下文
G.dispose();

尝试{
将输出图像发送到页面
imageio.write(图像,JPEG
} catch(IOException e){
返回;
}

返回strensure; / /返回一个随机数的生成
}


这是checkcodeservlet内容了

复制代码代码如下所示:
public void doGet(HttpServletRequest请求,HttpServletResponse响应)
抛出IOException {返回,
DoPost(请求、响应);
}

public void doPost(HttpServletRequest请求,HttpServletResponse响应)
抛出IOException {返回,
/禁用缓存,每次访问页面,以生成
response.setheader(语用
response.setheader(缓存控制
response.setdateheader(到期

用于生成对象的验证代码
码即=新码();

内的方法调用,返回字符串生成的验证代码
字符串ie.getensure(0,0,response.getoutputstream());

获取会话,并将存储在会话中的字符串作为下面比较的基础
request.getsession HttpSession会话=();
session.setattribute(strensure

}


然后Servlet的web.xml配置

复制代码代码如下所示:

checkservlet
com.blog.servlet.checkservlet


checkservlet
/检查



最后,引用jsp页面

复制代码代码如下所示:


验证码

重新获取验证字符
changeimage()函数
{
单击图片以触发重新加载事件,替换图片验证代码。
document.getelementbyid(imgrandom)。src= document.getelementbyid(imgrandom)。Src +;
}






隐形




在JSP页面中,你只需要点的IMG SRC属性的生成验证码的servlet,并指向URL在web.xmlt servle映射。