怎么才能让html页面生成随即图片验证码
就想这个网站
https://www.goodhope.com.cn/identifyImage.html
没懂html是怎么弄来的
希望大家给点意见
谢谢
[解决办法]
这应该不是真正的html文件。不要被扩展名误导。
[解决办法]
其实是个图片,只不过把映射给改了
[解决办法]
http://topic.csdn.net/t/20050802/13/4183402.html
[解决办法]
identifyImage.html这东东其实是个servlet,名字具有迷惑性.
[解决办法]
identifyImage.html这个东西可以映射的,不一定就是html。
[解决办法]
好久,不太清楚了,好象是产生随即的数值,然后套一个层加个图片,再进行验证吧,希望有更好的解释!
[解决办法]
<%@ page contentType= "image/jpeg " import= "java.awt.*,
java.awt.image.*,java.util.*,javax.imageio.* " %> <%!
Color getRandColor(int fc,int bc){//给定范围获得随机颜色
Random random = new Random();
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);
}
%> <%
//设置页面不缓存
response.setHeader( "Pragma ", "No-cache ");
response.setHeader( "Cache-Control ", "no-cache ");
response.setDateHeader( "Expires ", 0);
// 在内存中创建图象
int width=60, height=20;
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(0, 0, width, height);
//设定字体
g.setFont(new Font( "Times New Roman ",Font.PLAIN,18));
//画边框
//g.setColor(new Color());
//g.drawRect(0,0,width-1,height-1);
// 随机产生155条干扰线,使图象中的认证码不易被其它程序探测到
g.setColor(getRandColor(160,200));
for (int i=0;i <155;i++)
{
int x = random.nextInt(width);
int y = random.nextInt(height);
int xl = random.nextInt(12);
int yl = random.nextInt(12);
g.drawLine(x,y,x+xl,y+yl);
}
// 取随机产生的认证码(4位数字)
String sRand= " ";
for (int i=0;i <4;i++){
String rand=String.valueOf(random.nextInt(10));
sRand+=rand;
// 将认证码显示到图象中
g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));
//调用函数出来的颜色相同,可能是因为种子太接近,所以只能直接生成
g.drawString(rand,13*i+6,16);
}
// 将认证码存入SESSION
session.setAttribute( "sms.vertify ",sRand);
// 图象生效
g.dispose();
response.reset();
response.setContentType( "image/jpeg ");
// 输出图象到页面
ImageIO.write(image, "JPEG ", response.getOutputStream());
[解决办法]
■■国产类似tomcat的 "kangaroo_web_egg "web服务器正式发布,免费且开源
在java中间件中大部分人都知道tomcat,一个开源免费的web服务器,不过今天要介绍的是一个国内自主开发的web服务器
,它的名字叫“kangaroo_web_eggkangaroo_web_egg”,同样是开源免费的,但是它所运行的不是JSP脚本语言,而是自己开发的DQM脚本语言,
其拥有自己的容器用于执行DQM动态文件,我们称之为DQM容器。DQM很类似与JSP,但是比JSP来的简单,所以如果你会JSP那么
只需要稍看DQM就会理解。
那么这个服务器有什么特点呢?
1、不需要配置XML文件:以前我们 使用J2EE服务器时都时常需要配置XML文件,而kangaroo_web_egg则不需要,即使使用MVC
结构时也是用动态页面进行逻辑控制。
2、完善的国际化支持:每个涉及到内容输出或读取的方法都重载了带有字符集的方法,这样就不需要再去编写麻烦的过
滤器,只需要简单的提供当前所需要使用的字符集。
3、有条件的文件输出:BBS的web程序中经常会遇到这样一种情况,允许用户自行上传文件,而上传后的文件必须满足某
些条件才能够被访问(读取、下载),这里所指的某些条件例如只有登录用户才能够访问,或者购买了BBS主题后才能访问等
等。类似情况在其它web应用中也有很多,那该如何实现这种功能呢?以前我们都是自己写一个servlet进行有条件的文件输出
,可是这样会很麻烦,如果要支持断点续传的需要那么自己还要写上一大段程序,要完全符合HTTP协议进行文件输出那么就更
加困难了,而在kangaroo_web_egg只需要简单的使用内置方法即可。
4、command内置对象:kangaroo_web_egg有一个全新的内置对象command,用户可以通过此对象来查看或修改服务器当前信息
,利用此对象还可以在不停服务器的情况修改服务器的某些设置,比如不中断服务的情况下软重启服务器。
5、生成静态页面:通 有些情况下,动态页面执行后的内容会长时间不变,但是访问的人却很多,如果生成静态页面那么
就可以免去了执行动态文件和读取数据库的开销。kangaroo_web_egg内置了自动的生成静态页面的功能,只需要简单编程就可以自
动生成静态页面了。
5、编译及隐藏源代码:kangaroo_web_egg可以关闭自动编译功能,只运行编译后的页面,同时提供了编译整个web应用及隐藏
动态页面源代码的功能。
kangaroo_web_eggweb服务器的官方网站:kweb.go.3322.org
[解决办法]
img 得src属性!
[解决办法]
在一个动态页面中生成的图片,然后在使用img 得src属性就可以了。
[解决办法]
路过看看