图片接受验证码
1.Servlet实现
public class testyanzhengma extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setHeader("Refresh","3");
BufferedImage bufferedImage = new BufferedImage(80, 20, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = (Graphics2D)bufferedImage.getGraphics();
graphics.setColor(Color.white);
graphics.fillRect(0,0,80,20);
graphics.setColor(Color.red);
graphics.drawString(makenum(),0,20);
graphics.setFont(new Font(null,Font.BOLD,20));
resp.setContentType("image/jpeg");
resp.setHeader("Cache-Control","no-cache");
resp.setHeader("pragma","no-cache");
ImageIO.write(bufferedImage,"jpg",resp.getOutputStream());
}
private String makenum(){
Random random = new Random();
String num=random.nextInt(999999)+"";
StringBuffer stringBuffer = new StringBuffer();
for(int i=0;i<6-num.length();i++){
stringBuffer.append(0);
}
num=stringBuffer.toString()+num;
return num;
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
}
2.配置web.xml
<servlet>
<servlet-name>image</servlet-name>
<servlet-class>com.ws.Servlet.testyanzhengma</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>image</servlet-name>
<url-pattern>/image</url-pattern>
</servlet-mapping>
3.需要以下依赖pom.xml
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.3</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
4.来源
1.使用的TomCat9.0.62版本
2.来自狂神视频的学习