程序地带

springboot+jwt连接数据库进行验证


参考springboot+jwt进行验证里面就修改了一些代码


application.yml文件 进行了连接数据库的操作 在这里插入图片描述


entity层(数据层) 进行了和数据库关联操作,外加提供了一个无参的方法 在这里插入图片描述


controller层 引入service,增加了一个跳转html页面的方法,还有登录页面接收数值的方式 在这里插入图片描述 拦截器配置 对user不进行拦截,不需要验证即可访问 在这里插入图片描述 HTML页面 进行登录验证,ajax后台跳转的操作


<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Title</title>
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
<!-- method="get" action="/login"-->
<form id="form" align="center">
<p>登录</p>
<!--autocomplete="off" 清除input框历史记录-->
username:<input name="username" placeholder="账户" type="text"><br/>
password:<input name="password" placeholder="密码" type="text"><br/>
<input type="button" id="tj" value="提交">
<input type="button" value="重置">
</form>
</body>
<script type="text/javascript">
$("#tj").click(function () {
// alert($("#form").serialize())
$.ajax({
url: '/login',
type:'GET',
data:$("#form").serialize(),
dataType: 'json',
async: 'true',
success:function (data) {
var token = data.token;
// alert(token)
// alert(JSON.stringify(data));
$.ajax({
url: '/getList',
type:'GET',
headers: {token:token},
dataType: 'json',
success:function (data) {
var list = data;
document.write(JSON.stringify(list))
// alert(JSON.stringify(list))
}
})
},
error:function (XMLHttpRequest, textStatus, errorThrown) {
}
})
})
// alert("111");
</script>
</html>

dao层 写入一个继承JpaRepository,因为之前的写入了方法,不能继承JpaRepository在这里插入图片描述 SysUserServiceImpl层


package com.jwt.demo.service.serviceImpl;
import com.alibaba.fastjson.JSON;
import com.jwt.demo.dao.SysUserDao;
import com.jwt.demo.dao.SysUserDao1;
import com.jwt.demo.entity.SysUser;
import com.jwt.demo.service.SysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@Service
public class SysUserServiceImpl implements SysUserService {
@Resource
SysUserDao1 sysUserDao1;
@Override
public boolean login(SysUser user) {
String username = user.getUsername();
String password = user.getPassword();
// System.out.println("111111111111111111111111");
List<SysUser> list = sysUserDao1.findAll();
// System.out.println(JSON.toJSON(list));
//iterator迭代器
Iterator<SysUser> iterable = list.iterator();//实例化
// List<SysUser> map = new ArrayList();
// while (iterable.hasNext()){
// map.add(iterable.next());
// System.out.println(JSON.toJSON(iterable.next()));
// }
//
SysUser[] map1 = new SysUser[list.size()];//定义集合存储数据
for (int i=0;i<list.size();i++){
map1[i]=iterable.next();//存储的数据
//调用数据库进行验证
if (username.equals(map1[i].getUsername()) && password.equals(map1[i].getPassword())){//验证
return true;
}
}
// System.out.println(JSON.toJSON(map1.length));
// System.out.println(JSON.toJSON(map1[0].getUsername()+map1[0].getPassword()));
// System.out.println(JSON.toJSON(map1[1]));
// System.out.println(JSON.toJSON(list.toArray()));
// System.out.println(list.size());//数组长度
// System.out.println("111111111111111111111111");
// if(username.equals("admin") && password.equals("123456")){
// return true;
// }
return false;
}
@Override
public List<SysUser> getList() {
List<SysUser> list = sysUserDao1.findAll();//调用方法查询全部
Iterator<SysUser> iterable = list.iterator();//实例化
SysUser[] map1 = new SysUser[list.size()];//定义集合存储数据
List<SysUser> map = new ArrayList();
for (int i=0;i<list.size();i++){
map1[i]=iterable.next();//存储的数据
map.add(map1[i]);
}
return map;
// SysUser user1 = new SysUser("admin1", "123456");
// SysUser user2 = new SysUser("admin2", "123456");
// SysUser user3 = new SysUser("admin3", "123456");
// List<SysUser> list = new ArrayList<>();
// list.add(user1);
// list.add(user2);
// list.add(user3);
// return list;
}
}

在这里插入图片描述


在这里插入图片描述 数据库 登录使用哪个都可以 在这里插入图片描述 网页访问 在这里插入图片描述


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_45853881/article/details/111246211

随机推荐

Java基础-集合类-哈希

Java基础-集合类-哈希

Java工程师知识树/Java基础什么是HashHash(哈希),又称“散列”。散列(hash)英文原意是“混杂”、“拼凑”、“重...

hughjin 阅读(803)

python中timetuple_python中的time和datetime模块

写代码时经常需要处理日期时间问题,Python中提供了对时间日期的多种多样的处理方式,主要是在time和datetime这两个模块里,这里简单总结下。time...

weixin_39575937 阅读(973)

免费python基础笔记_python的基础练习笔记

由于之前有学习过的python的缘故,这次的基础练习算是对知识的巩固的加深,在练习的过程中还是出现一些丢失符号的低级错误,不过动过改正加深了自己的影响...

weixin_39626927 阅读(799)

Security的种类和一般的防范方法

Security相关的知识面临的security的威胁Security的主要的种类XSSCSRFXXESQLInjectionInsecureDeserialization总结面临的security的...

睁开眼起床 阅读(436)

python锁机制_关于Python中锁的理解(二)

这不是经验分享帖,也不是什么教学帖(没资格),这应该算是笔记帖,原因如下:对于一个非计算机科班的人,“锁”这个东西有点难理解&#x...

weixin_39710041 阅读(648)