导航:首页 > 编程语言 > jsp验证码不显示

jsp验证码不显示

发布时间:2023-10-27 23:33:31

jsp中生成的验证码不能正确显示

http://..com/question/582353044.html?oldq=1&from=evaluateTo#reply-box-1465393158

㈡ jsp页面该如何刷新验证码

(1)jsp代码
<img id = "img_authcode" src="${ctx}/account/authcode" /><a href="javascript:;" onclick="javascript:document.getElementById('img_authcode').setAttribute('src', '${ctx}/account/authcode?' + Math.random())">换一换</a>

(2)java代码(该代码为我自己框架代码,跟servlet写法不一样的我都给你注释了):
public View authcode() throws IOException {
HttpServletResponse response = PuffContext.getResponse();//获取response
response.setContentType("image/jpeg");
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
String authCode = AuthCodeUtil.getRandom(4); //获取验证码,代码在下面(3)
System.out.println("生成随机码:" + authCode);
PuffContext.getSession().setAttribute("session_authcode", authCode);//把该验证码存储在session
ServletOutputStream output = response.getOutputStream();
AuthCodeUtil.draw(output, authCode);
output.flush();
output.close();
return ViewFactory.nullView();//返回null
}

(3)///////////////////////////下面为生成验证码类////////////////////////////////////

public class AuthCodeUtil {
private final static Random random = new Random();
// 随机字体样式
private final static int[] fontStyle = { Font.HANGING_BASELINE, Font.ITALIC, Font.LAYOUT_LEFT_TO_RIGHT, Font.LAYOUT_NO_LIMIT_CONTEXT,
Font.LAYOUT_NO_START_CONTEXT, Font.LAYOUT_RIGHT_TO_LEFT };

/**
* 画随机码图
*
* @param out
* @param width
* @param height
* @throws IOException
*/
public static void draw(OutputStream out, String value) throws IOException {
int width = 80, height = 30;
BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics2D g = (Graphics2D) bi.getGraphics();
g.setColor(Color.WHITE);
g.fillRect(0, 0, width, height);
g.drawRect(1, 1, width - 2, height - 2);
for (int i = 0; i < 10; i++) {
g.setColor(randColor(150, 250));
g.drawOval(random.nextInt(110), random.nextInt(24), 5 + random.nextInt(10), 5 + random.nextInt(10));
}
int n = (int) (Math.random() * 6);
Font mFont = new Font("Arial", fontStyle[n], 23);
g.setFont(mFont);
g.setColor(randColor(10, 240));
g.drawString(value, 10, 21);// 随机数,水平距离,垂直距离
ImageIO.write(bi, "png", out);
}

private static Color randColor(int fc, int bc) {// 给定范围获得随机颜色
if (fc > 255)
fc = 255;
if (bc > 255)
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 static void main(String[] args) throws IOException {
FileOutputStream out = new FileOutputStream("d:\\aa.png");
draw(out, getRandom(4));
}

public static String getRandom(int size) {// 随机字符串
char[] c = { '1', '3', '5', '6', '7', '8', '9' };
StringBuffer sb = new StringBuffer();
for (int i = 0; i < size; i++)
sb.append(c[Math.abs(random.nextInt()) % c.length]);
return sb.toString();
}

}

㈢ jsp生成的验证码图片怎么显示不出来,总是一个X框的东西,哪位高手指教下!

可以在X的位置,右键属性,看看对应的url是否正确,这样,你首先可以直接访问url,然后,如果正常显示,再放到img标签里,就ok了,还问题,可以提出来,我帮你解决

㈣ 在我的java Web项目中为什么我的jsp的验证码不能显示啊其他项目可以显示就是我的这一个项目不能显示。

如果其他可以,这个不行,你可以试着重启你的服务器,清除浏览器缓存再打开试试..

㈤ 用Js,Ajax做的一个jsp页面的验证码功能,但是就是刷不出来图片呀,总是一把×。查了好久,还是没有解决。

你的图片路径 你确定是 code?code=随机数 么?
你这不是发送到后台的 地址? 确定是 图片的绝对(相版对) 地址?

你犯了一个权错误。 $('imgVcode') 这个应该是你的图片的id 。 你想着给他 赋值 .src
这是对的。
然而应该先 ajax 请求 得到 一个随机数再 把后台返回过来的随机数 赋值吧?
例如这样$ajax{
url:
type:
data:
} success : function(result){
$('imgVcode').src="code+result";
}
应该是这样吧。

阅读全文

与jsp验证码不显示相关的资料

热点内容
如何以文件下载音乐 浏览:438
计算机网络章节练习 浏览:999
单片机的外部中断程序 浏览:48
表格批量更名找不到指定文件 浏览:869
js的elseif 浏览:584
3dmaxvray视频教程 浏览:905
imgtool工具中文版 浏览:539
java帮助文件在哪里 浏览:965
win10切换输入语言 浏览:696
haier电视网络用不了怎么办 浏览:361
苹果6手机id怎么更改 浏览:179
米家扫地机器人下载什么app 浏览:82
如何在编程猫代码岛20种树 浏览:915
手机基础信息存储在哪个文件 浏览:726
如何查找手机备份文件 浏览:792
内存清理工具formac 浏览:323
iphone过滤骚扰电话 浏览:981
wap网络如何使用微信 浏览:699
手机迅雷应用盒子在哪个文件夹 浏览:351
windows8网络连接 浏览:442

友情链接