。用JSP做验证码刷新时没刷新
åœ?çº?ç?‰é??手指ç‚?ã?‚ã?‚ã?‚ç??JSPå?šéªŒè??ç •åˆ?æ??æ??æ??åˆ?æ??
è??ä?ªæ??å›?片ç?Ÿæˆ?çš„jspï,š
%@ page contentType= image/jpeg import= java.awt.*,
java.awt.image.*,java.util.*,javax.imageio.* pageEncoding= GB2312 %
%
// åœ?内å??ä??创å?ºå›?è??
int width=60, height=20;
BufferedImage image = new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);
// è??å ?å›?å??ä?Šä?‹æ?‡
Graphics g = image.getGraphics();
// è??å?šèƒŒæ??è‰?
g.setColor(new Color(0xDCDCDC));
g.fillRect(0, 0, width, height);
//ç??è??æ?†
g.setColor(Color.black);
g.drawRect(0,0,width-1,height-1);
// éš?机äº?ç?Ÿçš„è?,è??ç •(4ä??æ??å??)
String rand = + (Math.random()*10000);
rand = rand.substring(0,rand.indexOf( . ));
System.out.println( rand: +rand);
switch(rand.length())
{
case 1: rand = rand+ 000 ; break;
case 2: rand = rand+ 00 ; break;
case 3: rand = rand+ 0 ; break;
default: rand = rand.substring(0,4); break;
}
System.out.println( rand: +rand);
// å?†è?,è?•ç •å??å…,SESSION
session.setAttribute( rand ,rand);
// å?†è?,è?•ç •æ??ç,ºåˆ?å›?è??ä??
g.setColor(Color.black);
Integer tempNumber = new Integer(rand);
String numberStr = tempNumber.toString();
g.setFont(new Font( Atlantic Inline ,Font.PLAIN,18));
String Str = numberStr.substring(0,1);
g.drawString(Str,8,17);
Str = numberStr.substring(1,2);
g.drawString(Str,20,15);
Str = numberStr.substring(2,3);
g.drawString(Str,35,18);
Str = numberStr.substring(3,4);
g.drawString(Str,45,15);
//
éš?机äº?ç?Ÿ88ä?ªå??æ‰?ç‚?ï,Œä??å›?è??ä??çš„è?,è??ç •ä??æ??è??å…?å
?ƒç?‹åº?æ??测åˆ?
Random random = new Random();
for (int i=0;i 20;i++)
{
int x = random.nextInt(width);
int y = random.nextInt(height);
g.drawOval(x,y,0,0);
}
// å›?è??ç?Ÿæ?ˆ
g.dispose();
// è??出å›?è??åˆ?é?µé ?
ImageIO.write(image, JPEG ,response.getOutputStream());
//åœ?é?µé??ä?Šè?ƒç?? img src= /yourPath/checkNum.jsp /
out . clear();
out = pageContext.pushBody();
%
å?šæµ‹è??çš„éƒ?分ä??ç •ï,š
script type= text/javascript
function refresh(){
document.myform.image.src = code.jsp ;
}
/script
body
img name= image src= code.jsp
a href= javascript:refresh() 看ä??æ?…?æ??ä??å, /a
/body
------è??å†?æ??æ?ˆ--------------------------------------------------------
ä??懂â?,â?,å??ä??了ä?
------è??å†?æ??æ?ˆ--------------------------------------------------------
ç??çš„æ??IEæµ?è?ˆå??å??ï,ŒIEæ??有ç,?å??çš„ï,Œç??ç‹?æµ?è?ˆå??å??æ??有è??ç? é??é??
å ?ä??åœ?URLé??æ?,å??é??åŠ ä?ªåŠ?æ??çš„å??é‡?ï,ŒéªŒè??ç •å??ä,šåˆ?
æ??了