- 浏览: 480837 次
- 性别:
- 来自: 珠海
文章分类
最新评论
-
zs769666156:
楼主能不能给个ER图,通过ER图来分析一下这个段代码?想好好学 ...
基于SQL 语法解释器JSqlParser实现的SQL解析工具 -
lucky1035:
我只是想长肉 写道源代码下载过来缺少三个包,jsqlparse ...
基于SQL 语法解释器JSqlParser实现的SQL解析工具 -
我只是想长肉:
源代码下载过来缺少三个包,jsqlparser 14 这个哪里 ...
基于SQL 语法解释器JSqlParser实现的SQL解析工具 -
wamdy:
多谢博主,找了许久,我看能不能做成eclipse下sql语句的 ...
基于SQL 语法解释器JSqlParser实现的SQL解析工具 -
zzl1787:
怎么下不下来啊
PDF套打模板制作(一)
在B/S结构项目中,为防止别心用心的用户尝试登录通常采用生成校验码图片的方式进行控制,图片中的数字是随机生成的。以下代码是具体实现方法:
图片生成实用类:
- import java.awt.*;
- import java.awt.image.*;
- import java.util.*;
- public class ImageCode {
- public String sRand = "";
- public 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);
- }
- public BufferedImage creatImage() {
- // 在内存中创建图象
- 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));
- // 随机产生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位数字)
- 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);
- }
- // 图象生效
- g.dispose();
- return image;
- }
- /**
- * @return Returns the sRand.
- */
- public String getSRand() {
- return sRand;
- }
- }
生成图片的servlet:
- import java.awt.image.BufferedImage;
- import java.io.IOException;
- import javax.imageio.ImageIO;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- /**
- * 生成随机验证码图片
- *
- * @author lixy 2007-7-16 11:16:50
- *
- */
- public class RandomImgCodeServlet extends HttpServlet {
- public void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- response.setContentType("image/jpeg");
- ImageCode image = new ImageCode();
- response.setHeader("Pragma", "No-cache");
- response.setHeader("Cache-Control", "no-cache");
- response.setDateHeader("Expires", 0);
- try {
- // 输出图象到页面
- BufferedImage img = image.creatImage();
- request.getSession().setAttribute("rand", image.getSRand());
- //System.out.println("image Rand Code = "+image.getSRand());
- ImageIO.write(img, "JPEG", response.getOutputStream());
- response.getOutputStream().flush();
- response.getOutputStream().close();
- } catch (Exception e) {
- System.out.println("错误:" + e);
- }
- }
- }
记得在web.xml中对上面这个servlet进行配置,我的配置是:
xml 代码
- <servlet>
- <servlet-name>RandomImgCodeServletservlet-name>
- <servlet-class>org.lixy.util.RandomImgCodeServletservlet-class>
- <servlet>
- <servlet-mapping>
- <servlet-name>RandomImgCodeServletservlet-name>
- <url-pattern>/servlet/randomImgCodeServleturl-pattern>
- <servlet-mapping>
在需要放置此图片的地方加入如下代码:
html代码
- <img src="/servlet/randomImgCodeServlet" class="imageRandom" height="18px"/>
大功告成了。。。呵呵,简单吧
评论
4 楼
lxy19791111
2008-07-02
老兄,知识要灵活运用...不是什么代码Copy过去就没事了!
3 楼
hqingjin83
2008-06-20
<img src="/servlet/randomImgCodeServlet" class="imageRandom" height="18px"/>
这个有问题吧?应为:
<img src="servlet/randomImgCodeServlet" class="imageRandom" height="18px"/>
这个有问题吧?应为:
<img src="servlet/randomImgCodeServlet" class="imageRandom" height="18px"/>
2 楼
hqingjin83
2008-06-20
唔。。。验证码无法显示啊
1 楼
hqingjin83
2008-06-20
[color=blue][/color][size=medium][/size]
很好!刚好需要,呵呵。。。
很好!刚好需要,呵呵。。。
发表评论
-
访问FreeMarker的工具类
2009-12-13 20:39 7911import java.io.File; import ja ... -
java操作json的通用类
2009-10-25 16:21 2495import java.text.ParseException ... -
利用Axis Ant Task生成Web Service客户端代码(build.xml)
2009-03-03 12:08 3577利用Axis Ant Task生成Web Serv ... -
支付通用工具类(适用于支付及查询)
2009-03-02 12:13 1576最近十天时间都在做跟在线支付相关的开发工作,使用的 ... -
将request中的数据转换到Map中
2009-03-02 12:01 2566以下代码段是将请求request中的数据转换到Ma ... -
基于HttpClient的HttpUtils(后台访问URL)
2009-03-02 11:53 36893最近做在线支付时遇到需要以后台方式访问URL并获取 ... -
jmap + Eclipse MAT :排查内存泄漏的好工具
2008-12-13 11:06 8253当服务器应用占用了过多内存的时候,如何快速定位 ... -
JSON的序列化和反序列化
2008-08-01 16:02 8288JsonTools是一个不错的JSON序列化和反序列化 ... -
Frontend plus 2.03
2007-11-06 21:43 6262class反编译工具,已经破解。 -
Java面试题
2007-09-16 13:35 1577有两个数组,而且都已排序好,现要求将它们合并到一个新的数组c中 ... -
《Design By Contract原则与实践》精彩片断选读
2007-08-30 16:15 2115《Design By Contract原则与实践》精彩片断选 ... -
Array和Vector,HashMap的区别 [转]
2007-08-30 16:06 2382[转]自 http://blog.hunan2 ... -
Jocky--Java混淆编译器
2007-08-15 13:50 6637以下内容摘自Jocky文档 ... -
轻量级JNDI数据源创建
2007-07-30 17:06 2359程序中手工创建JNDI数据源的代码如下: java ... -
JFreeChart API(中文)[转载]
2007-07-16 09:14 4394[转载自: http ... -
Dozer自动给对象赋值,比BeanUtils好用多了
2007-07-03 10:04 15119在日常的项目中,经常会遇到各层对象之间相互进行值传递的 ... -
Java访问LDAP示例
2007-07-02 11:16 2874在最近一个项目中需要访问LDAP(Domino 6.5),示例 ... -
判断一个IP地址是否为内网IP
2007-07-02 10:59 11604java 代码 public static bo ...
相关推荐
XVcode,Web 动态验证码图片生成工具,用于生成随机验证码图片及返回验证码。以随机圆圈为干扰背景,增加随机前后景透明度,并提供3种gif动态图。PngGenerator :GifGenerator:Gif2Generator:Gif3Generator:该项目...
这个工具不仅能够生成校验码,还能将生成的校验码转化为图片格式,方便在网页或应用中显示和验证。接下来,我们将深入探讨校验码的概念、C#中的实现方法以及如何生成图片格式的校验码。 **一、校验码原理** 校验码...
校验码通常是一串随机的字母或数字,与图片结合,用户需要输入看到的验证码文字以证明其是人而不是机器。 在这个"ASP.NET程序中实现校验码图像生成.rar"压缩包中,包含了一个实现这一功能的示例。主要涉及以下几个...
在"BMP图片校验码识别"这个主题中,我们主要关注的是如何验证和识别这种图片文件中的校验码。校验码通常用于确保数据的完整性和正确性,特别是在传输或存储过程中防止错误。 在256色的BMP图片中,每个像素由8位表示...
在PowerBuilder(PB)环境中生成Code128条形码图片,可以帮助开发者在软件中实现数据的快速识别和记录。本篇将详细介绍如何在PB9版本中创建Code128条形码图像。 首先,了解Code128条形码的基本结构和特点: 1. Code...
EAN13码由13位数字组成,包括国家代码、厂商代码、商品代码和校验码四部分,用于唯一识别一种商品。在本文中,我们将深入探讨EAN13码的生成原理,以及如何使用C语言结合EasyX绘图库来实现它的可视化展示。 1. EAN13...
这种安全措施涉及到两种类型的校验码:一种是包含数字、字母和汉字的文字校验码,另一种是拖拉式图片校验码。这两种校验码都是为了防止自动化的恶意登录尝试,如机器人或脚本,从而保护用户账户的安全。 文字校验码...
概览:本文件是基于rust和iced库编写的crc16校验码生成小程序,利用iced库生成GUI界面,可以输入16进制数据,可生成crc16modbus格式的校验码 语言:rust 库:iced 平台:vscode 适合人群:rust初学者,对GUI程序感...
5. **保存和使用**:将生成的条形码图片保存为常见的图像格式,如PNG、JPEG等,然后可以将其粘贴到报告、标签、网页或其他需要展示的地方。 在实际应用中,条形码生成还涉及到错误校验和条码阅读器的兼容性问题。...
本主题主要涉及二维码的校验和生成,特别关注在图片分割后对二维码图像的处理。 首先,我们要理解二维码的校验过程。二维码包含错误纠正机制,以确保即使在部分损坏的情况下也能正确解码。这种机制基于 Reed-...
6. 条形码的验证:生成的条形码需要通过校验码来确保其正确性。校验码是通过对条形码的其他数字进行特定计算得出的,目的是确保在扫描时能准确无误地识别出条形码。 7. 条形码的图形设计:除了功能性,条形码的外观...
### ASP.NET生成图片验证码知识点详解 #### 一、概述 在Web应用开发中,验证码是一种常见的安全措施,用于区分操作者是人还是自动化程序。本文将详细介绍如何在ASP.NET环境中生成图片验证码,包括代码实现与关键...
过于规则的校验码(无旋转)很容易被灌水机等程序之别,本程序生成旋转的校验码算法,c++ gui环境,很容易移植到其它开发环境
开发者可以编写程序,结合条形码生成库,让用户在软件中输入信息后生成条形码图片,然后将其插入到文档或标签模板中进行打印。 总结来说,条形码一维码生成代码的核心是将文本信息转换成符合标准的条形码图案。在...
1. 图片库的创建:首先,你需要有一组预设的图片,这些图片将作为用户选择的校验码。你可以创建一个包含这些图片的资源文件或者直接在代码中加载它们。 2. 随机选择机制:为了每次登录时显示不同的图片组合,需要...
本项目是基于SpringBoot框架,使用JDK 1.8,结合layui前端框架,实现了一个功能强大的验证码生成与校验系统。 首先,让我们深入了解一下验证码生成的过程。验证码通常包含一组随机生成的字符,这些字符可以是中文、...
条形码生成器的工作原理通常是通过将输入的数据转换成特定的条形码格式,每个条形码都有起始、数据和结束符,以及可能的校验码,以确保数据的正确读取。生成的条形码图像通常包含黑白条纹和白色空间,其宽度和比例...
2. 编码规则:条形码的编码遵循一定的标准,例如EAN-13条形码前三位是国家代码,中间四位是厂商代码,后五位是产品代码,最后一位是校验码。 3. 开发实现:条形码生成通常依赖于专门的库,如Java的barcode4j、Python...