- 浏览: 299067 次
- 性别:
- 来自: 安徽
文章分类
最新评论
-
fanjf:
因为不是太懂,所以摘录!
DataStage---向目的库插入时出现问题:MLOG$ -
fanjf:
oracle 位图索引:位图索引: 解决某一表数据很多,但某一 ...
【转】 mysql 添加列,修改列,删除列。 -
fanjf:
创建索引:CREATE TABLE mm (m1 CHAR(1 ...
【转】 mysql 添加列,修改列,删除列。 -
fanjf:
查询mysql 的表emp 的约束:
SELECT * FR ...
【转】 mysql 添加列,修改列,删除列。 -
fanjf:
为什么 update 不报错,结果为空?
关于MYSQL 检查check约束
代码:package test;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.OutputStream;
import java.util.Random;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ImageGenerator extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = -3938318741402322164L;
private static 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);
}
private static String charsLong = "23456789abcdefghjklmnpqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ";
private static String charsShort = "0123456789";
private static String chars = charsLong;
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) {
try {
int charsLength = chars.length();
response.setHeader("ragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
int width = 70, 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.ITALIC, height));
g.setColor(getRandColor(160, 200));
for (int i = 0; i < 35; 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);
}
StringBuilder sRand = new StringBuilder();
String[] fontNames = { "Times New Roman", "Arial", "Book antiqua", "" };
for (int i = 0; i < 4; i++) {
g.setFont(new Font(fontNames[random.nextInt(3)], Font.ITALIC, height));
char rand = chars.charAt(random.nextInt(charsLength));
sRand.append(rand);
g.setColor(new Color(20 + random.nextInt(110), 20 + random.nextInt(110), 20 + random.nextInt(110)));
g.drawString(String.valueOf(rand), 16 * i + random.nextInt(6) + 3, height - random.nextInt(4));
}
g.setColor(getRandColor(160, 200));
for (int i = 0; i < 30; i++) {
int x = random.nextInt(width);
int y = random.nextInt(height);
int xl = random.nextInt(width);
int yl = random.nextInt(width);
g.drawLine(x, y, x + xl, y + yl);
}
request.getSession().setAttribute("Login_Image_Code", sRand.toString());
g.dispose();
try {
Thread.sleep(100);
} catch (Exception ex) {
}
OutputStream os = response.getOutputStream();
ImageIO.write(image, "JPEG", os);
os.flush();
os.close();
} catch (Exception ex) {
}
}
}
修改 web.xml
代码:
<servlet>
<servlet-name>imageGenerator</servlet-name>
<servlet-class>test.ImageGenerator</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>imageGenerator</servlet-name>
<url-pattern>/image.jsp</url-pattern>
</servlet-mapping>
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.OutputStream;
import java.util.Random;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ImageGenerator extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = -3938318741402322164L;
private static 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);
}
private static String charsLong = "23456789abcdefghjklmnpqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ";
private static String charsShort = "0123456789";
private static String chars = charsLong;
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) {
try {
int charsLength = chars.length();
response.setHeader("ragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
int width = 70, 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.ITALIC, height));
g.setColor(getRandColor(160, 200));
for (int i = 0; i < 35; 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);
}
StringBuilder sRand = new StringBuilder();
String[] fontNames = { "Times New Roman", "Arial", "Book antiqua", "" };
for (int i = 0; i < 4; i++) {
g.setFont(new Font(fontNames[random.nextInt(3)], Font.ITALIC, height));
char rand = chars.charAt(random.nextInt(charsLength));
sRand.append(rand);
g.setColor(new Color(20 + random.nextInt(110), 20 + random.nextInt(110), 20 + random.nextInt(110)));
g.drawString(String.valueOf(rand), 16 * i + random.nextInt(6) + 3, height - random.nextInt(4));
}
g.setColor(getRandColor(160, 200));
for (int i = 0; i < 30; i++) {
int x = random.nextInt(width);
int y = random.nextInt(height);
int xl = random.nextInt(width);
int yl = random.nextInt(width);
g.drawLine(x, y, x + xl, y + yl);
}
request.getSession().setAttribute("Login_Image_Code", sRand.toString());
g.dispose();
try {
Thread.sleep(100);
} catch (Exception ex) {
}
OutputStream os = response.getOutputStream();
ImageIO.write(image, "JPEG", os);
os.flush();
os.close();
} catch (Exception ex) {
}
}
}
修改 web.xml
代码:
<servlet>
<servlet-name>imageGenerator</servlet-name>
<servlet-class>test.ImageGenerator</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>imageGenerator</servlet-name>
<url-pattern>/image.jsp</url-pattern>
</servlet-mapping>
发表评论
-
JAVA 统一追加扩展名类
2014-07-07 15:34 927最近有人反应某云盘,无法上传视频,我也倍受困扰,后来发现MD ... -
java中替换字符以及回车换行
2014-02-14 13:47 1835[java] view plaincopy 1. / ... -
[转]java中替换字符以及回车换行
2013-11-13 09:18 3315//第一种方式 import java.util.r ... -
Caused by: java.lang.OutOfMemoryError: PermGen space
2013-07-30 16:43 628Caused by: java.lang.OutOfMemo ... -
nested exception is java.sql.BatchUpdateException: 批处理中出现错误: ORA-00972: 标识符过长
2013-07-30 16:21 4131最近开发项目,跑批处理遇到一个问题: 2013-07-28 ... -
软件架构师必读书籍--------软件架构师推荐书籍系列
2012-09-23 17:02 4042一、架构篇 1. 《Softw ... -
【异常】Error configuring application listener of class xxx.xxx.xxx
2012-04-01 11:26 4703严重: Error configuring applicati ... -
Java复制、移动、删除、获取大小文件
2012-03-31 11:12 1737利用Apache Commons IO工具包(commons- ... -
Java中的Enum简单例子
2012-03-31 11:12 1291package com.util.enumclass; /* ... -
Java中的Enum的使用与分析
2012-03-30 11:28 860示例: package com.util.enumclass ... -
分享文件一个上传工具类
2012-03-30 10:57 886最近在搭建一个项目,需要用到很多通用的工具类,自己也写了几个。 ... -
缩放图片工具类,创建缩略图、伸缩图片比例
2012-03-30 10:54 778支持将Image的宽度、高度缩放到指定width、height ... -
Java创建、重命名、删除文件和文件夹
2012-03-30 10:52 1589package test.file; import java ... -
Java操作文件工具类
2012-03-30 10:48 1025JAVA API关于操作文件基础类太少,而且缺乏很多使 ... -
java获得实例对象的几种方法
2012-03-29 17:49 995// 1.new Dog d1 = new Dog ... -
【异常】net.sf.hibernate.NonUniqueObjectException
2012-03-22 16:06 817net.sf.hibernate.NonUniqueObjec ... -
Java虚拟机原理
2012-03-22 15:47 770一、什么是Java虚拟机 ... -
【异常】org.springframework.orm.hibernate3.HibernateQueryException
2012-03-20 10:44 2936今天新同事遇到一个异常,通过如下方法做一个单元测试: /** ... -
【异常】javax.imageio.IIOException: Can't get input stream from URL!
2012-03-19 11:42 9312Exception in thread "main& ... -
Error reading tld listeners java.lang.NullPointerException
2012-03-16 17:40 1527在学习【FreeMarker整合Spring 3.0】时把相应 ...
相关推荐
JAVA一段生成验证码图片的程序 JAVA一段生成验证码图片的程序 JAVA一段生成验证码图片的程序 JAVA一段生成验证码图片的程序
验证码信息为图片。每一行代码均有注释,通俗易懂。 实现步骤: 1、创建web工程 2、在jsp页面,编写一个请求servlet的名称"> 3、编写一个servlet,在servlet中产生图形验证码 -----------------------------------...
上次发了一个易语言内存生成验证码的源码,后来压力测试的时候发现多线程下程序会崩溃。原因是 GDI 在多线程创建hDC的时候,经常会失败,内存hDC只有一个工作区域,导致多线程冲突 所以后来研究了一段时间发现,多...
用于生成验证码 可以生成任意长度的随机验证码 主要就是一段源代码 可以直接加载到程序中,只需在页面加一个iamge 欢迎下载使用
一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后...
16.17 JavaScript生成验证码(二) 第17章 进度条、滚动条特效处理 17.1 使用符号制作的进度条 17.2 用table制作的进度条 17.3 CSS+JS制作的进度条(一) 17.4 CSS+JS制作的进度条(二) 17.5 进度条形式的下载效果 ...
一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后...
16.17 JavaScript生成验证码(二) 第17章 进度条、滚动条特效处理 17.1 使用符号制作的进度条 17.2 用table制作的进度条 17.3 CSS+JS制作的进度条(一) 17.4 CSS+JS制作的进度条(二) 17.5 进度条形式的下载效果 ...
Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码图片。 Java 命令行解析...
网趣网上购物系统率先支持商品图片水印设置功能,可以选择设置图片水印或文字水印,并可设置水印嵌入图片的位置,设置水印可以有效防止图片盗链,同时不易被修改和使用,更能表现出一个网站的特色风格,设置好水印...
网趣网上购物系统率先支持商品图片水印设置功能,可以选择设置图片水印或文字水印,并可设置水印嵌入图片的位置,设置水印可以有效防止图片盗链,同时不易被修改和使用,更能表现出一个网站的特色风格,设置好水印...
网趣网上购物系统率先支持商品图片水印设置功能,设置图片水印可以有效防止图片盗链,同时不易被修改和使用,更能表现出一个网站的特色风格,设置好水印后,添加商品上传图片时,会自动在图片上嵌入水印内容,彰显...
这是个J2ME控制台程序,它能剔除PNG文件中的非关键数据段,减少文件大小从而达到压缩图片的目的。而图片的质量并不会受到损失。使用时候只需在控制台窗口执行jar就可以了。 Java 3DMenu 界面源码 5个目标文件 ...
同时还增加ID段生成功能,根据商品起始ID进行生成静态,非常方便! 五、独特的静态生成与强大的SEO优化于一体! 事实证明,HTML静态文件快速被搜索引擎收录,网趣HTML静态版V2012在采用先进的AJAX与XML技术生成的...
一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后...
一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后...