(狂神)SpringBoot笔记------07

员工管理系统:登录功能实现

我们先把登录的功能实现了,登陆成功的话,跳到首页。

我们编程的时候不要直接就把完整代码写出来之后再去测试,我们要一步一步写,写一步测试一步,不然我们的bug都改不过来。

我们先写一个controller,看看能不能让它成功跳转过来:

运行一下:

我们没有去做判断,只要登录就能跳转。目前确定跳转功能没有错误。

我们现在是想要去接受我们前端传来的用户名和密码值,我们就需要在前端给他们name属性:

我们现在想做的事是判断,如果用户名为空或者密码错误,我们就跳回首页,如果登录成功跳到其它页面:

运行:

登录失败时:

现在它符合了我们的预期,接下来我们要完善的是,我们要给它加上提示语句,提示用户登录失败的信息。

我们在h标签下加一个p标签提示语,运行一下:

提示语是出来了,但是现在无论登录与否,成功与否都有这条提示,我们接下来就在前端做一个if判断:

再运行一下:

点击登录:

若密码为123456:

点击登录:

我们的thymeleaf模板可以做很多我们java可以做的事情。

但是现在 我们发现一个不对劲的事情:

我们不可能跳转页面之后,连用户名和密码都能被看见。

我们要去自己手动去配置一个映射:

 我们如果登录成功就会重定向到main页面,但是我们并没有main页面,所以我们自定义视图解析器,我们当收到地址为main.html就会自动映射到我们跳转到的页面。

运行:

但是我们还有一个瑕疵,就是我们现在所有用户都可以访问这个页面,这显然是不合理的。

登录拦截器 

我们就要学习在springboot框架中使用拦截器。

我们判断是否拦截的一句就是session是否存在,所以我们先去在controller中加上session:

 

我们先去写一个拦截器,在程序开启前去进行拦截判断:

同样的我们写完了拦截器我们也要把它配置到spring中去。

 

在config中使用本身的添加拦截器的方法,并且excludePathPatterns方法可以允许某些文件不被拦截。

运行:

 

我们登录一下:

 

 

我们退出去再直接登录一次:

 

因为之前登陆过,存在session,所以可以直接访问。我们现在要做的一个事情是,我们想把Company name换成我们自己登录上的用户名:

 

我们把原来显示Company name的地方改成我们session中的名字,注意我们的表达式用$取值。

运行:

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值