为什么我的验证码刷不出来吗 不出来

login.jsp
&%@ page language="java" import="java.util.*"
contentType="text/ charset=UTF-8" pageEncoding="UTF-8"%&
&%@taglib prefix="s" uri="/struts-tags"%&
&%@taglib prefix="sx" uri="/struts-dojo-tags"%&
&!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&
&script type="text/javascript"&
function trim(s)
return s.replace(/^\s*/,"").replace(/\s*$/,"");
function validate(form)
var errStr = "";
var username = trim(form.username.value);
var password = trim(form.password.value);
if(username == "" || username == null)
errStr += "请输入用户名\n";
if(password == "" || password == null)
errStr += "请输入密码\n";
if(vercode == "" || vercode == null)
errStr += "请输入验证码";
if(errStr == "")
alert(errStr);
//为了使每次生成的验证码不一致,即不让浏览器读缓存,所以需要加上时间戳
function refresh()
document.getElementById("authImg").src = "authImg?d=" + new Date().getTime();
&meta http-equiv="Content-Type" content="text/ charset=UTF-8"&
&sx:head/&
&title&&s:text name="%{getText('loginPage')}" /&&/title&
&div style="color: red"&
&s:property value="noLogin" /&
&s:actionerror/&
&s:form action="Login" method="post" onsubmit="return validate(this);"&
&s:textfield label="%{getText('username')}" name="username" value="" cssStyle="width:150" /&
&s:password label="%{getText('password')}" name="password" value="" cssStyle="width:150" /&
&s:textfield label="%{getText('vercode')}" name="vercode" value="" cssStyle="width:150" /&
&s:submit value="%{getText('login')}"/&
验证码如图:&img src="authImg" id="authImg"/&看不清?&a href="#" onClick="refresh()"&单击此处刷新&/a&
AuthImg.java:
package authI
import java.io.*;
import java.awt.*;
import java.awt.image.*;
import java.util.*;
import javax.imageio.*;
import javax.imageio.stream.ImageOutputS
public class AuthImg
private static final long serialVersionUID = 1L;
//设置图形验证码中字符串的字体和大小
private ByteArrayInputS//图像
private S//验证码
private AuthImg()
* 取得AuthImg实例
public static AuthImg Instance(){
return new AuthImg();
* 取得验证码图片
public ByteArrayInputStream getImage()
return this.
* 取得图片的验证码
public String getString()
return this.
//生成随机颜色
private Color getRandColor(int fc, int bc)
Random random = new Random();
if (fc & 255)
if (bc & 255)
int r = fc + random.nextInt(bc - fc);
int g = fc + random.nextInt(bc - fc);
int b = fc + random.nextInt(bc - fc);
return new Color(r, g, b);
//生成服务器响应的服务方法
public void init()
int width = 100, height = 18;
//生成一张新图片
BufferedImage image = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);
//在图片中绘制内容
Graphics g = image.getGraphics();
Random random = new Random();
g.setColor(getRandColor(200, 250));
g.fillRect(1, 1, width - 1, height - 1);
//设定背景色
g.setColor(new Color(102, 102, 102));
g.drawRect(0, 0, width - 1, height - 1);
g.setFont(new Font("Arial Black", Font.PLAIN, 16));
//随机生成线条,让图片看起来更加杂乱
g.setColor(getRandColor(160, 200));
for (int i = 0; i & 155; i++)
int x = random.nextInt(width - 1);
int y = random.nextInt(height - 1);
int xl = random.nextInt(6) + 1;
int yl = random.nextInt(12) + 1;
g.drawLine(x, y, x + xl, y + yl);
for (int i = 0; i & 70; i++)
int x = random.nextInt(width - 1);
int y = random.nextInt(height - 1);
int xl = random.nextInt(12) + 1;
int yl = random.nextInt(6) + 1;
g.drawLine(x, y, x - xl, y - yl);
//用于保存系统生成的随机字符串
StringBuffer sRand = new StringBuffer(6);
for (int i = 0; i & 6; i++)
String tmp = getRandomChar();
sRand = sRand.append(tmp);
//将系统生成的随机字符添加到图形验证码图片上
g.setColor(new Color(20 + random.nextInt(110), 20 + random.nextInt(110), 20 + random.nextInt(110)));
g.drawString(tmp, 15 * i + 10, 15);
//赋值验证码
this.str = sRand.toString();
g.dispose();
ByteArrayInputStream input =
ByteArrayOutputStream output = new ByteArrayOutputStream();
//输出图形验证码图片
ImageOutputStream imageOut = ImageIO.createImageOutputStream(output);
ImageIO.write(image, "JPEG", imageOut);
imageOut.close();
input = new ByteArrayInputStream(output.toByteArray());
}catch(Exception e){
System.out.println("验证码图片产生出现错误:" + e.toString());
//赋值图像
this.image =
* 生成随机字符
private String getRandomChar()
int rand = (int) Math.round(Math.random() * 2);
long itmp = 0;
char ctmp = '\u0000';
switch(rand)
//生成大写字母的情形
itmp = Math.round(Math.random() * 25 + 65);
ctmp = (char)
return String.valueOf(ctmp);
//生成小写字母的情形
itmp = Math.round(Math.random() * 25 + 97);
ctmp = (char)
return String.valueOf(ctmp);
//生成数字的情形
itmp = Math.round(Math.random() * 9);
return String.valueOf(itmp);
import java.io.ByteArrayInputS
import javax.servlet.http.HttpServletR
import org.apache.struts2.ServletActionC
import authImg.AuthI
import com.opensymphony.xwork2.ActionC
import com.opensymphony.xwork2.ActionS
public class CreateCodeImg extends ActionSupport
private static final long serialVersionUID = 1L;
public void setInputStream(ByteArrayInputStream inputStream)
this.inputStream = inputS
public ByteArrayInputStream getInputStream()
return inputS
public String execute() throws Exception
HttpServletResponse response = ServletActionContext.getResponse();
//阻止生成页面被缓存,保证每次重新生成随机验证码
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Cache-Control", "no-store");
response.setDateHeader("Expires", 0);
response.setContentType("image/jpeg");
AuthImg authImg = AuthImg.Instance();
// 取得带有随机字符串的图片
setInputStream(authImg.getImage());
// 取得随机字符串放入HttpSession
ActionContext.getContext().getSession().put("authImg", authImg.getString());
return SUCCESS;
private ByteArrayInputStream inputS
struts.xml部分
&action name="authImg" class="action.CreateCodeImg" method="get"&
&result type="stream"&
&param name="contentType"&image/jpeg&/param&
&param name="inputName"&inputStream&/param&
部署后,进入login.jsp出现
20:43:46,389 DEBUG SessionImpl:248 - opened session at timestamp:
20:43:50 org.apache.catalina.core.ApplicationContext log
信息: Marking servlet img as unavailable
20:43:50 org.apache.catalina.core.StandardWrapperValve invoke
严重: Allocate exception for servlet img
java.lang.IllegalAccessException: Class org.apache.catalina.core.StandardWrapper can not access a member of class authImg.AuthImg with modifiers "private"
at sun.reflect.Reflection.ensureMemberAccess(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1116)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:809)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:574)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1527)
at java.lang.Thread.run(Unknown Source)
目前还没有答案
已解决问题
未解决问题查看: 5312|回复: 6
认证邮箱的邮件为什么我一直收不到啊?
在线时间1179 小时
阅读权限70
帖子猥币巴士票
猥然不动 Lv.7, 积分 8465, 距离下一级还需 1535 积分
发了几十封了一次都没收到,系统有问题?
腾讯VIP邮箱
在线时间260 小时
阅读权限60
帖子猥币巴士票
猥人师表 Lv.6, 积分 3206, 距离下一级还需 1794 积分
被当做LJ文件了吧
马马虎虎的我,精湛的我,还有...
在线时间1179 小时
阅读权限70
帖子猥币巴士票
猥然不动 Lv.7, 积分 8465, 距离下一级还需 1535 积分
asa1525 发表于
被当做LJ文件了吧
垃@圾箱也没有啊
猥币150719
在线时间3305 小时
阅读权限90
帖子猥币巴士票
猥震海内 Lv.9, 积分 34876, 距离下一级还需 25124 积分
时间问题吧?早上10点-12点试试
加群验证码:PSP
PSP主题の游戏论坛QQ主群:
好友【淘宝店】欢迎光临请点击:
在线时间559 小时
阅读权限70
帖子猥币巴士票
猥然不动 Lv.7, 积分 7657, 距离下一级还需 2343 积分
换IE浏览器 然后再点那个验证按钮 就能收到认证邮件了
找回密码的邮件同理
白素贞啊,LZ出国了,去非洲降雨吧!.
在线时间12180 小时
阅读权限100
帖子猥币巴士票
LS貌似正解了...
FC:95& &港服PSN:DN-ZERO
在线时间7 小时
帖子猥币巴士票
猥不足道 Lv.2, 积分 32, 距离下一级还需 168 积分
我邮箱也没有收到
回帖前请先看下发帖时间,请勿回复发帖时间.
小千金的癖好【普通成就】
作为大型玩具公司董事长女儿的我,只有在给小樱做漂亮衣服的时候,才能让我体会到作为一个有钱人的好处 (在猥皮大本营的加油站充过5汽油)
成就猎人Rank.D【普通成就】
你已经踏上了成就收集的不归路,5个成就怎么可能满足你的需求,继续努力吧! (获得累计超过5个成就--不包括负面成就)
Lucky☆Star【稀有成就】
什么!你在发完申请贴截图的时候没被人撒云?实在是太幸运了,让我抱抱你的大腿吧!(规则改为:总积分正好=或777777)
水元素【普通成就】
水、H2O、みず、water,额...总之怎么叫都行了
(累计发帖1000即可解锁)
正版党【光辉事迹】
不是咱要晒正版,实在是游戏太好玩(自曝拥有任意平台10款以上的正版游戏)
常客【普通成就】
《我的业余生活》从前有一个论坛叫TGBUS…(在线时间超过1000小时)
我的朋友很多【普通成就】
朋友不只是踏脚石,偶尔也可以当坐垫的哦(好友数超过100名)
浮云爱好者【普通成就】
一朵,两朵,三朵,呵呵呵… (累计获得1000朵浮云)
我哭给你看【普通成就】
又没中奖!!再不给我抽中我就哭给你看!我要水漫猥皮大本营!(连续7次参与论坛正版游戏抽奖仍未成功抽中)
2014大力神杯【稀有成就】
恭喜你取得了本届大力神杯(2014巴西世界杯)
略疼【稀有成就】
(续《我的业余生活》2)我在那里…消磨了大量的… (在线时间超过5000小时)
日常【光辉事迹】
(续《我的业余生活》3)人参啊……(在线时间超过10000小时)
水精灵【稀有成就】
我很喜欢水,因为这就是我存在的意义...(累计发帖10000即可解锁)
水魔神【光辉事迹】
哦…哦…力量,我感觉到了力量,这种静谧的意志所转化而成的肃正之力,究竟是……(累计发帖100000即可解锁)
无双的水神【唯一成就】
您…您就是海神波塞冬吧?!--吟游诗人Garsiazero如是说(全论坛第一个发帖量达到200000者)
浮云收藏家【稀有成就】
已经收藏到这么多浮云了吗,不错嘛!(累计获得5000朵浮云)
浮云鉴定砖家【光辉事迹】
浮云对你来说,已经没有秘密了!(累计获得10000朵浮云)
浮云创造者【史诗成就】
我越来越强烈的意识到,浮云就是你创造的!(累计获得30000朵浮云)
Floating Clouds【唯一成就】
你已经参透了浮云的真谛,发现自己也是一朵浮云…(全论坛第一个获得50000朵浮云者)
海贼王的宝藏【光辉事迹】
想要我的财宝吗?想要的话就给你吧,去找吧,伟大航路,我把世界的一切都放在那里,ONE PIECE! (在猥皮大本营的加油站一次性充了500汽油)
邪恶贵族的继承【史诗成就】
有爵位,领土,和美丽的未婚妻,那又如何?我的一生只为复仇! (在猥皮大本营的加油站一次性充了200汽油)
大少爷的修养【稀有成就】
土豪什么的才不符合我的身份,我是品行端庄努力上进的绅士。嗨,baby……人生是需要relax的~~(在猥皮大本营的加油站一次性充了100汽油)
铜质奖杯【普通成就】
好歹有个名次,哈哈哈哈哈(曾在论坛任意板块内组织的活动中获得第三名)
银质奖杯【稀有成就】
差点就是第一名了! --不甘心的菲尼如是说(曾在论坛任意板块内组织的活动中获得第二名)
金质奖杯【光辉事迹】
比赛第一,友谊第二!(曾在论坛任意板块内组织的活动中获得第一名)
S·P·Y【稀有成就】
呵呵想揭下我的面具看看我的真实身份吗?知道的人都死光了哦……(同时列名于3个以上用户组)
全主机制霸之环【光辉事迹】
首先我要感谢我的把拔马嘛,还要感谢各种TV,感谢@#%&*…让我拥有现世代所有的游戏机。(PSP、PSV、NDS、3DS、PS3、XBOX360、WII、WII U、PS4、XBOX ONE)
成就猎人Rank.C【稀有成就】
随便玩玩就拿到这么多了,SO EASY,妈妈再也不用担心我的成就 (获得累计超过10个成就--不包括负面成就)
成就猎人Rank.B【光辉事迹】
达人?=,=是在侮辱我吗?!我是神,我是,我…… --从此无人知其下落 (获得累计超过20个成就--不包括负面成就)
Powered by回复: 4 | 浏览: 6741
| 字体: tT
精华2&注册时间&最后登录&阅读权限80&帖子3623&积分27200&
经验值25732 &妈豆12907 &爱心活力豆0 &宝宝生日&地区:雁塔区街道:雁塔区
| 字体大小: tT
知道的妈妈解释一下啊?
我要参加金秋爱拍季!
精华0&注册时间&最后登录&阅读权限80&帖子1874&积分19128&
经验值18576 &妈豆8629 &爱心活力豆0 &宝宝生日&地区:莲湖区街道:红庙坡街道
手机中毒了?屏蔽了?发疯了?
精华1&注册时间&最后登录&阅读权限110&帖子25358&积分128628&
经验值124823 &妈豆38716 &爱心活力豆71 &宝宝生日null&地区:长安区街道:
有时会有系统延时
半小时后滴滴滴滴来好几个
2013年一定勤奋起来!
精华18&注册时间&最后登录&阅读权限100&帖子29238&积分931099&
经验值925998 &妈豆13266 &爱心活力豆76 &宝宝生日null&地区:街道:
我从来不要手机及验证码~~~
用的快捷支付·
精华0&注册时间&最后登录&阅读权限90&帖子445&积分3791&
经验值3684 &妈豆1858 &爱心活力豆0 &宝宝生日&地区:街道:
是不是支付宝认证过了,安装认证后就不用验证码了~
无论你是直发,还是波浪大花,编发总是能给你带来惊喜!会编发的喜欢编发的,行动起来,展示你们的美丽编发,为生活添加活力!
登录妈妈圈
手机上妈网
孕妈必用 谁用谁好孕
5分钟内必有答案
随时随地记录宝宝可爱的瞬间
&&增值电信业务经营许可证:粤网安备案号:7公安机关备案号:Copyright
All Right Reserved版权所有注册页面的客户端验证.为什么我的blur事件不响应? alert(&我是checkUsername&);都不会显示出来,按钮焦点消失时不能进验证方法内
[问题点数:20分]
注册页面的客户端验证.为什么我的blur事件不响应? alert(&我是checkUsername&);都不会显示出来,按钮焦点消失时不能进验证方法内
[问题点数:20分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2012年 总版技术专家分年内排行榜第一2007年 总版技术专家分年内排行榜第二2006年 总版技术专家分年内排行榜第二2004年 总版技术专家分年内排行榜第二
2005年 总版技术专家分年内排行榜第三2003年 总版技术专家分年内排行榜第三2002年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第一2007年 总版技术专家分年内排行榜第二2006年 总版技术专家分年内排行榜第二2004年 总版技术专家分年内排行榜第二
2005年 总版技术专家分年内排行榜第三2003年 总版技术专家分年内排行榜第三2002年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第一2007年 总版技术专家分年内排行榜第二2006年 总版技术专家分年内排行榜第二2004年 总版技术专家分年内排行榜第二
2005年 总版技术专家分年内排行榜第三2003年 总版技术专家分年内排行榜第三2002年 总版技术专家分年内排行榜第三
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。

我要回帖

更多关于 汤不热验证码刷不出来 的文章

 

随机推荐