<%@page import="java.awt.Color"%>
<%@page import="java.awt.Font"%>
<%@page import="java.awt.Graphics"%>
<%@page import="com.sun.image.codec.jpeg.JPEGImageEncoder"%>
<%@page import="com.sun.image.codec.jpeg.JPEGCodec"%>
<%@page import="java.awt.image.BufferedImage"%>
<%@page import="javax.swing.text.AbstractDocument.Content"%>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE >
<html>
<head>
</head>
<body>
<%
//设置格式
response.setContentType("image/jpeg");
//关out内置对象
out.clear();
out=pageContext.pushBody();
//创建一张图,这个图在内存里面
BufferedImage image=new BufferedImage(100,40,BufferedImage.TYPE_INT_RGB);
//画笔工具
Graphics g=image.getGraphics();
//把字符串转化成字符串数组
char[] b="QWERTYUIOPLKJHGFDSAZXCVBNMqwertyuioplkjhgfdsazxcvbnm0123456789".toCharArray();
g.setFont(new Font("宋体",Font.BOLD,30));//设置子样式
//这里是使用颜色填充背景,显示画笔变色,在让画笔完全填充背景
g.setColor(Color.orange);
g.fillRect(0, 0, image.getWidth(), image.getHeight());
StringBuilder sb=new StringBuilder("");
for(int i=1;i<=4;i++){
int shu= (int)(Math.random()*b.length);
//颜色
int aa=(int)(Math.random()*256);
int bb=(int)(Math.random()*256);
int cc=(int)(Math.random()*256);
int dd=(int)(Math.random()*22);
int xx=(int)(Math.random()*100);
int yy=(int)(Math.random()*40);
g.setColor(new Color(aa,bb,cc));
sb.append(b[shu]);
session.setAttribute("sb", sb);
g.drawString(b[shu]+"", 18*i, 23);
g.drawLine(yy, xx, xx, yy);
}
ServletOutputStream sos=response.getOutputStream();
//过滤流包装搜索,获取更强大的api
JPEGImageEncoder en= JPEGCodec.createJPEGEncoder(sos);
en.encode(image);
%>
</body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE>
<html>
<head>
</head>
<body>
<form action="dafen.jsp">
用户名:<input><br>
密码:<input><br>
验证码:<input name="yzm"> <img onclick="f1(this)" src="index.jsp" /><br>
<input type="submit">
</form>
<script type="text/javascript">
function f1(img){
img.src="index.jsp?="+new Date().getTime();
}
</body>
</html>
<h1>提交成功</h1>
<%
String str=request.getParameter("yzm");
Object obj=session.getAttribute("sb");
if(obj!=null){
String sb=((StringBuilder)obj).toString();
if(str.toLowerCase().equals(sb.toLowerCase())){
//注册入库
out.print("true");
session.removeAttribute("sb");
}else{
//在回到注册页面
out.print("回去");
}
}else{
out.print("回去");
}
%>