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

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

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

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

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

(狂神)SpringBoot笔记------07_第1张图片

(狂神)SpringBoot笔记------07_第2张图片

运行一下:

(狂神)SpringBoot笔记------07_第3张图片

(狂神)SpringBoot笔记------07_第4张图片

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

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

(狂神)SpringBoot笔记------07_第5张图片

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

(狂神)SpringBoot笔记------07_第6张图片

运行:

(狂神)SpringBoot笔记------07_第7张图片

(狂神)SpringBoot笔记------07_第8张图片

登录失败时:

(狂神)SpringBoot笔记------07_第9张图片

(狂神)SpringBoot笔记------07_第10张图片

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

(狂神)SpringBoot笔记------07_第11张图片

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

(狂神)SpringBoot笔记------07_第12张图片

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

(狂神)SpringBoot笔记------07_第13张图片

再运行一下:

(狂神)SpringBoot笔记------07_第14张图片

(狂神)SpringBoot笔记------07_第15张图片

点击登录:

(狂神)SpringBoot笔记------07_第16张图片

若密码为123456:

(狂神)SpringBoot笔记------07_第17张图片

点击登录:

(狂神)SpringBoot笔记------07_第18张图片

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

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

(狂神)SpringBoot笔记------07_第19张图片

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

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

(狂神)SpringBoot笔记------07_第20张图片

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

运行:

(狂神)SpringBoot笔记------07_第21张图片

(狂神)SpringBoot笔记------07_第22张图片

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

登录拦截器 

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

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

(狂神)SpringBoot笔记------07_第23张图片

 

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

(狂神)SpringBoot笔记------07_第24张图片

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

(狂神)SpringBoot笔记------07_第25张图片 

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

运行:

(狂神)SpringBoot笔记------07_第26张图片 

我们登录一下:

(狂神)SpringBoot笔记------07_第27张图片 

(狂神)SpringBoot笔记------07_第28张图片 

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

(狂神)SpringBoot笔记------07_第29张图片 

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

(狂神)SpringBoot笔记------07_第30张图片 

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

运行:

(狂神)SpringBoot笔记------07_第31张图片 

(狂神)SpringBoot笔记------07_第32张图片 

 

你可能感兴趣的:(intellij-idea,maven,java)