Servlet+IDEA实现验证码生成

需要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()方法从新调用,验证码也会随机变。

发布了58 篇原创文章 · 获赞 75 · 访问量 6547

猜你喜欢

转载自blog.csdn.net/qq_42013035/article/details/104068771
今日推荐