11.java后台生成图片验证码
案例1:
package com.zb.servlet;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Random;
import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/createImg")
public class CreateImageServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("我是被图片的SRC请求到的Servlet");
BufferedImage checkCodeImage = new BufferedImage(300, 50, 1);
Graphics g = checkCodeImage.getGraphics();
for(int i=0;i<6;i++) {
Random rd = new Random();
Color c = new Color(rd.nextInt(255),rd.nextInt(255),rd.nextInt(255));
g.setColor(c);
g.drawString(rd.nextInt(10)+"", i*23+10, rd.nextInt(10)+15);
}
ImageIO.write(checkCodeImage, "JPEG", resp.getOutputStream());
resp.getOutputStream().flush();
}
}
案例2:
图片验证码:
img页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<img alt="" src="imgServlet">
</body>
</html>
登录页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户登录</title>
<style type="text/css">
table,td{
height: 40px;
border: 1px solid #CCCCC;
text-align: center;
}
</style>
</head>
<script type="text/javascript"