添加图形验证码功能

This commit is contained in:
2023-06-28 18:40:07 +08:00
parent 98e140e9fa
commit b072e74658
2 changed files with 40 additions and 1 deletions

View File

@@ -14,7 +14,7 @@ import java.io.IOException;
*/
@WebFilter("/system/*")// 过滤器所有的请求
public class SessionFilter implements Filter {
private String[] excludeUrls = new String[]{""}; //过滤器排除的请求url 格式:”/login“
private String[] excludeUrls = new String[]{"/VerifycodeServlet"}; //过滤器排除的请求url 格式:”/login“
/**
* 过滤器

View File

@@ -0,0 +1,39 @@
package com.hellogithub.servlet;
import com.hellogithub.utils.RandomValidateCode;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* 前台验证码处点击刷新,发送到该servlet的请求,
* 该servlet调用生成验证码的工具类返回一个图像验证码
*/
@WebServlet(name = "VerifycodeServlet", urlPatterns = "/VerifycodeServlet")
public class VerifycodeServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("image/jpeg");//设置相应类型,告诉浏览器输出的内容为图片
response.setHeader("Pragma", "No-cache");//设置响应头信息,告诉浏览器不要缓存此内容
//做浏览器兼容
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expire", 0);
RandomValidateCode randomValidateCode = new RandomValidateCode();
try {
randomValidateCode.getRandcode(request, response);//输出图片方法
} catch (Exception e) {
e.printStackTrace();
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}