Java web 登陆、注册界面验证码的生成

Java web 登陆界面验证码的生成

public class CheckCodeServlet extends HttpServlet {

	public void servlet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// 画画
		BufferedImage image = new BufferedImage(60, 20,
				BufferedImage.TYPE_INT_RGB);
		Graphics g = image.getGraphics();
		Random r = new Random();
		g.setColor(new Color(r.nextInt(255), r.nextInt(255), r.nextInt(255)));
		g.fillRect(0, 0, 60, 20);
		// 生成一个随机数,并且画到内存映射对象上
		String str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
		String number = "";
		for (int i = 0; i < 5; i++) {
			number += str.charAt(r.nextInt(str.length()));
		}

		HttpSession session = request.getSession();
		session.setAttribute("number", number);
		System.out.println(number);
		g.setColor(new Color(0, 0, 0));
		g.drawString(number, 10, 15);
		// 加一些干扰线
		for (int i = 0; i < 5; i++) {
			g
					.setColor(new Color(r.nextInt(255), r.nextInt(255), r
							.nextInt(255)));
			g.drawLine(r.nextInt(60), r.nextInt(20), r.nextInt(60), r
					.nextInt(20));
		}
		// 2 将图片压缩并输出到客户端
		response.setContentType("image/jpeg");
		OutputStream ops = response.getOutputStream();
		javax.imageio.ImageIO.write(image, "jpeg", ops);
	}

}

Mahout 的安装与配置

Mahout 的安装

Mahout是 Hadoop 的一种高级应用。运行 Mahout 需要提前安装好 Hadoop,Linux 上 Hadoop 的安装配置可以参考文章:

1.下载二进制安装包解压安装
  到http://labs.renren.com/apache-mirror/mahout/0.7下载,我选择下载二进制包,直接解压及可。

hadoop@ubuntu:~$ tar -zxvf mahout-distribution-0.7.tar.gz

2. 配置环境变量:在/etc/profile,/home/hadoop/.bashrc中添加 MAHOUT_HOME、MAHOUT_HOME/lib、MAHOUT_HOME/bin信息

MAHOUT_HOME=/home/hadoop/mahout-distribution-0.7
PIG_HOME=/home/hadoop/pig-0.9.2
HBASE_HOME=/home/hadoop/hbase-0.94.3
HIVE_HOME=/home/hadoop/hive-0.9.0
HADOOP_HOME=/home/hadoop/hadoop-1.1.1
JAVA_HOME=/home/hadoop/jdk1.7.0
PATH=$JAVA_HOME/bin:$PIG_HOME/bin:$MAHOUT_HOME/bin:$HBASE_HOME/bin:$HIVE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/conf:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$HBASE_HOME/lib:$MAHOUT_HOME/lib:$PIG_HOME/lib:$HIVE_HOME/lib:$JAVA_HOME/lib/tools.jar
export MAHOUT_HOME
export PIG_HOME
export HBASE_HOME
export HADOOP_HOME
export JAVA_HOME
export HIVE_HOME
export PATH
export CLASSPATH

3:启动hadoop,也可以用伪分布式来测试

4:mahout –help    #检查Mahout是否安装完好,看是否列出了一些算法

5:mahout使用准备
a.下载一个文件synthetic_control.data,下载地址 http://archive.ics.uci.edu/ml/databases/synthetic_control /synthetic_control.data,并把这个文件放在$MAHOUT_HOME目录下。

b.启动Hadoop:$HADOOP_HOME/bin/start-all.sh

c.创建测试目录testdata,并把数据导入到这个tastdata目录中(这里的目录的名字只能是testdata)

hadoop@ubuntu:~/$ hadoop fs -mkdir testdata #
hadoop@ubuntu:~/$ hadoop fs -put /home/hadoop/mahout-distribution-0.7/synthetic_control.data testdata

d.使用kmeans算法测试(需要运行几分钟左右)

hadoop@ubuntu:~/$ hadoop jar /home/hadoop/mahout-distribution-0.7/mahout-examples-0.7-job.jar org.apache.mahout.clustering.syntheticcontrol.kmeans.Job

e.查看结果

hadoop@ubuntu:~/$ hadoop fs -lsr output

如果看到以下结果那么算法运行成功,安装也就成功了。

clusteredPoints  clusters-0  clusters-1  clusters-10  clusters-2  clusters-3  clusters-4 clusters-5  clusters-6  clusters-7  clusters-8  clusters-9  data