java图片验证码
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Random;
import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class ImageRandom extends HttpServlet {
/**
* Constructor of the object.
*/
public ImageRandom() {
super();
}
public void processRequest(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
response.setContentType("image/jpeg");
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
HttpSession session=request.getSession();
// 在内存中创建图象
int width=60, height=20;
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
// 获取图形上下文
Graphics graphics = image.getGraphics();
//生成随机类
Random random = new Random();
// 设定背景色
//graphics.setColor(this.getRandColor(100,150));
graphics.setColor(Color.gray);
graphics.clipRect(0, 0, width, height);
//设定字体
graphics.setFont(new Font("Times New Roman",Font.PLAIN,18));
//画边框
//graphics.setColor(new Color());
//graphics.drawRect(0,0,width-1,height-1);
// 随机产生50条干扰线,使图象中的认证码不易被其它程序探测到
graphics.setColor(getRandColor(100,200));
for (int i=0;i<50;i++) {
int x = ran
相关文档:
1、将org.vssplugin_1.6.2文件夹及文件夹中的内容copy到...\Genuitec\Common\plugins目录下。
2、在目录...\Genuitec\MyEclipse 7.0\configuration\org.eclipse.equinox.simpleconfigurator 的文件bundles.info最后加一行
org.vssplugin,1.6.2,file:plugins\org.vssplugin_1.6.2\,4,false
3、重启MyEclipse7.0即可  ......
Java中的方法调用中参数传递有两种,一个是对于参数是基本类型的使用的是值传递(直接传参数的值),另一个是引用传递,它是用于参数是类的对象,它传递的是这个对象的引用。
面向对象的思想anything is Object(万物皆对象)抽象,从对具体的对象中抽取有用信息。对象有其固有属性,对象的方法,即对象的行为(对象能做什 ......
通常情况下,我们在写一个类时,一般会赋予它一个或几个public的构造函数,让外部程序能够创建对象. 然而,在effective java 中,从另一个角度告诫我们在使用public的构造函数前,先考虑用public 的静态函数来创建对象.
其优点如下:
1. 一个静态的工厂函数,可以取不同的名字. 而构造函数的名字只能与类同名.
......
java 5开始引入了autoboxing 和auto-unboxing机制,方便了基本类型和其对应的wrapper类型的转换。比如我们可以直接把一个基本类型的值赋给其wrapper类型,反之亦然;可以把一个基本类型直接放入容器里,封装的过程由编译器来完成;调用方法的时候可以直接匹配参数autoboxing和auto-unboxing之后的版本。
这个过程 ......