Idea中maven项目实现登录验证码

1、配置maven环境变量,将maven安装的bin⽬录添加到path路径中(此电脑->属性->高级系统设置->环境变量->)
Idea中maven项目实现登录验证码_第1张图片
路径为maven安装目录
Idea中maven项目实现登录验证码_第2张图片
2、找到ValidateCode.jar包的本地路径

Idea中maven项目实现登录验证码_第3张图片

3、制作Jar包

原jar包地址:链接:https://pan.baidu.com/s/14hTY... 提取码:sifo
无法直接使用,需要命令行制作,命令如下:

mvn install:install-file -DgroupId=it.source -DartifactId=ValidateCode -Dversion=1.0 -Dpackaging=jar -Dfile=C:\Users\xiyang\Desktop\ValidateCode-1.0.jar
‘C:\Users\xiyang\Desktop\ValidateCode-1.0.jar’为jar包路径
4、成功效果

Idea中maven项目实现登录验证码_第4张图片

5、在maven项目的pom.xml文件中添加依赖

cn.dsna.util.images
ValidateCode
1.0
注意:‘cn.dsna.util.images’为依赖的路径,笔者是将jar包放在本地maven仓库的cn/dsna/util/images路径下
6、前端html实现



    
    后台登录
    
    
    
    
    
    
    
    
    
    


    
注意:页面是layui框架渲染的,layui官网: https://www.layui.com/
也可以在网盘中下载:链接: https://pan.baidu.com/s/1NOaq... 提取码:sifo
7、前端js代码(login.js)
//点击验证码进⾏刷新验证码,(登陆失败以后,重新调⽤该⽅法去刷新验证码)
function changeCode(){
    var img = document.getElementById("codeImg");
    //注意:如果请求⽹址完全相同 则浏览器不会帮你刷新
    //可以拼接当前时间 让每次请求的⽹址都不⼀样
    img.src ="http://localhost:8080/home/code?time="+new Date().getTime();
    }

8、后端java代码(控制层)

//获取验证码
 @GetMapping("code")
 public void getCode(HttpServletRequest request, HttpServletResponse response){
//参数列表:宽度,⾼度,字符数,⼲扰线数量
 ValidateCode vs = new ValidateCode(120,40,5,100);
 //获取文本
 //String code = vs.getCode();
 //将文本放入session中,一个公共的存储空间,存值的方式是key-value
 try {
    request.getSession().setAttribute("code",vs.getCode());
    request.getSession().setMaxInactiveInterval(300);//永不过期为-1
    vs.write(response.getOutputStream());
 } catch (IOException e) {//有io流就可能有io流异常,就要加try catch语句
    e.printStackTrace();
    }
 }
9、最终效果

Idea中maven项目实现登录验证码_第5张图片

点击验证码自动刷新

你可能感兴趣的:(java,html)