工具类 (待完成)

UUID工具类

import java.util.UUID;

public class CommonUtils {
	public static String  uuid() {
		return UUID.randomUUID().toString().replace("-", "");
	}
}

Dom4j工具类     dom4j-1.6.1.jar下载      jaxen-1.1-beta-6.jar 下载

package cn.itcast.dom4jtest;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.UnsupportedEncodingException;

import javax.sql.rowset.spi.XmlWriter;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

public class Dom4jUtils {
	
	//创建解析器得到document
	public static Document getDocument(String path){
		try {
			SAXReader saxReader = new SAXReader();
			Document document = saxReader.read(path);
			return document;
		} catch (DocumentException e) {
			e.printStackTrace();
		}
		return null;
	}

	//回写xml
	public static void xmlWriters(String path,Document document){
		try {
			OutputFormat format =new OutputFormat().createPrettyPrint();
			XMLWriter xmlWriter = new XMLWriter(new FileOutputStream(path), format);
			xmlWriter.write(document);
			xmlWriter.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
}

把map转换成指定类型的javaBean对象

commons-beanutils-1.8.3.jar           commons-logging-1.1.1.jar

 所需工具包下载

package cn.itcast.utils;

import java.util.Map;
import java.util.UUID;

import org.apache.commons.beanutils.BeanUtils;

public class CommonUtils {

	// ALT + SHIFT + J 自动会生成上述方法注释的格式

	/**
	 * 生成不重复的32位长的大写字符串
	 * @return
	 */
	public static String uuid() {
		return UUID.randomUUID().toString().toUpperCase();
	}
	
	/**
	 * 把map转换成指定类型的javaBean对象
	 * @param map
	 * @param clazz
	 * @return
	 */
	public static <T>T toBean(Map map,Class<T> className) {
		try {
			
			//  1.创建指定类型的javaBean对象 
			T bean = className.newInstance();
			
			//把数据封装到javaBean中
			BeanUtils.populate(bean, map);
			
			//3.返回javaBean对象
			return bean;
			
		} catch (Exception e) {
			throw new RuntimeException(e);
		}
	}
	
}

验证码工具类

package cn.itcast.image;  
  
import java.awt.BasicStroke;  
import java.awt.Color;  
import java.awt.Font;  
import java.awt.Graphics2D;  
import java.awt.image.BufferedImage;  
import java.io.IOException;  
import java.io.OutputStream;  
import java.util.Random;  
  
import javax.imageio.ImageIO;  
  
public class VerifyCode {  
    private int w = 70;  
    private int h = 35;  
    private Random r = new Random();  
    // {"宋体", "华文楷体", "黑体", "华文新魏", "华文隶书", "微软雅黑", "楷体_GB2312"}  
    private String[] fontNames  = {"宋体", "华文楷体", "黑体", "微软雅黑", "楷体_GB2312"};  
    // 可选字符  
    private String codes  = "23456789abcdefghjkmnopqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ";  
    // 背景色  
    private Color bgColor  = new Color(255, 255, 255);  
    // 验证码上的文本  
    private String text ;  
      
    // 生成随机的颜色  
    private Color randomColor () {  
        int red = r.nextInt(150);  
        int green = r.nextInt(150);  
        int blue = r.nextInt(150);  
        return new Color(red, green, blue);  
    }  
      
    // 生成随机的字体  
    private Font randomFont () {  
        int index = r.nextInt(fontNames.length);  
        String fontName = fontNames[index];//生成随机的字体名称  
        int style = r.nextInt(4);//生成随机的样式, 0(无样式), 1(粗体), 2(斜体), 3(粗体+斜体)  
        int size = r.nextInt(5) + 24; //生成随机字号, 24 ~ 28  
        return new Font(fontName, style, size);  
    }  
      
    // 画干扰线  
    private void drawLine (BufferedImage image) {  
        int num  = 3;//一共画3条  
        Graphics2D g2 = (Graphics2D)image.getGraphics();  
        for(int i = 0; i < num; i++) {//生成两个点的坐标,即4个值  
            int x1 = r.nextInt(w);  
            int y1 = r.nextInt(h);  
            int x2 = r.nextInt(w);  
            int y2 = r.nextInt(h);   
            g2.setStroke(new BasicStroke(1.5F));   
            g2.setColor(Color.BLUE); //干扰线是蓝色  
            g2.drawLine(x1, y1, x2, y2);//画线  
        }  
    }  
      
    // 随机生成一个字符  
    private char randomChar () {  
        int index = r.nextInt(codes.length());  
        return codes.charAt(index);  
    }  
      
    // 创建BufferedImage  
    private BufferedImage createImage () {  
        BufferedImage image = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);   
        Graphics2D g2 = (Graphics2D)image.getGraphics();   
        g2.setColor(this.bgColor);  
        g2.fillRect(0, 0, w, h);  
        return image;  
    }  
      
    // 调用这个方法得到验证码  
    public BufferedImage getImage () {  
        BufferedImage image = createImage();//创建图片缓冲区   
        Graphics2D g2 = (Graphics2D)image.getGraphics();//得到绘制环境  
        StringBuilder sb = new StringBuilder();//用来装载生成的验证码文本  
        // 向图片中画4个字符  
        for(int i = 0; i < 4; i++)  {//循环四次,每次生成一个字符  
            String s = randomChar() + "";//随机生成一个字母   
            sb.append(s); //把字母添加到sb中  
            float x = i * 1.0F * w / 4; //设置当前字符的x轴坐标  
            g2.setFont(randomFont()); //设置随机字体  
            g2.setColor(randomColor()); //设置随机颜色  
            g2.drawString(s, x, h-5); //画图  
        }  
        this.text = sb.toString(); //把生成的字符串赋给了this.text  
        drawLine(image); //添加干扰线  
        return image;         
    }  
      
    // 返回验证码图片上的文本  
    public String getText () {  
        return text;  
    }  
      
    // 保存图片到指定的输出流  
    public static void output (BufferedImage image, OutputStream out)   
                throws IOException {  
        ImageIO.write(image, "JPEG", out);  
    }  
}    




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值