需要jar包下载地址:https://pan.baidu.com/s/1fwiJzi6_dU3-Rd_2Q1kihQ
导入Java包在web/lib目标下,在src目录下新建一个ValidateServlet,如下
package com.qianqian.practice.servlet;
import cn.dsna.util.images.ValidateCode;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet(name = "ValidateServlet",value = "/validateCode")
public class ValidateServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//构造参数依次是(宽,高,验证码字符数,干扰线数)
ValidateCode validateCode=new ValidateCode(200,40,4,30);
//如不需要控制台显示验证码字符串,则以下两行不需要
String validateCodeString=validateCode.getCode();
System.out.println(validateCodeString);
validateCode.write(response.getOutputStream());
}
}
设置好访问路径注释,然后我们简单的写个jsp来看一下效果
<%--
Created by IntelliJ IDEA.
User: Swing
Date: 2020/1/20
Time: 9:46
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<form method="post" action="login/login.html">
用户名<input type="text" name="userName"/><br>
密码<input type="password" name="password"/><br><br>
验证码<input type="text" name="validateCode"><img src="validateCode"><br>
<input type="submit" value="登录"/>
</form>
</body>
</html>
要注意验证码是以图片的形式传入到客户端的,图片路径直接写Sevlet的路径即可
运行tomcat,样式如下:
每次刷新,servlet的service()方法从新调用,验证码也会随机变。