[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)

登录

文章目录

  • 登录
  • 总结

登录的思路

[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第1张图片
首先要有User模型
所以要生成User模型
再来就是要有UserMapper,这是mybatis的知识,
(Mapper)UserMapper就是 三层里面的 Dao层,只是在SSM里面 就没有dao了
而是用(Mapper)UserMapper

还要注意一下
这个Vo(UserVo)是个啥
它是User的子类

直接直接用工具类(逆向工程)生成模型
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第2张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第3张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第4张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第5张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第6张图片
自动就生成了,连生成位置就指定好了,直接就可以用
模型生成好,就生成mapper(就是Dao)
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第7张图片

[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第8张图片
对应的xml里面也要去写一个 login的方法
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第9张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第10张图片

下面写UserVo
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第11张图片

[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第12张图片
这个里面先声明都不用写

[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第13张图片

这两块完成之后再写service,再写表现层(写控制器,再写view)
注意:Userservice是一个接口,而UserServiceImpl是一个类
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第14张图片
然后是service的实现类 serviceImpl
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第15张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第16张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第17张图片
一定要注意,UserService 接口里面不用写注解
而是在它的实现类里面写注解,不要搞错了
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第18张图片
接下来就是控制器和view
loginController
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第19张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第20张图片
在Spring MVC 中使用 @RequestMapping 来映射请求,也就是通过它来指定控制器可以处理哪些URL请求,
相当于Servlet中在web.xml中配置,具体请接着耐心往下看
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第21张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第22张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第23张图片
登录日志后面加上去,毕竟我们有这个表,但是这里我们先实现登录,因为不能跑题
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第24张图片
常量我们创建一个接口就行,因为接口里面都是 public finally 是比较符合我们的要求的
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第25张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第26张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第27张图片
这有点像C#和java里面的枚举
这样的思想就是就是尽可能的配置化,并且配置文件尽量都放一起

这个就是我们第7点
常量的英文名其实是 constant 这里写的有点毛病,算了将错就错吧,知道就行了
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第28张图片
接下来是index,不需要改
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第29张图片
所以接下来就是 login.jsp(登录页面)以及index.jsp(登录后进入的主页)
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第30张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第31张图片
下面看具体操作
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第32张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第33张图片

把静态页面复制过来
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第34张图片

在这里插入图片描述

先访问一下看看
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第35张图片

[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第36张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第37张图片

[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第38张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第39张图片
第三方登录我们先不管
我们实现自己的登录再说
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第40张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第41张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第42张图片
这样去提交
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第43张图片
如下加个id,实现一秒钟之后提交表单

[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第44张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第45张图片
调试:

[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第46张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第47张图片
为啥123456不正确呢
我们看看数据库
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第48张图片
注意这不是乱码,这是加密过后的密文
MD5本来是不可以(反)解密的,但是由于123456,这个过于简单,是可以的,稍微复杂点的是不可逆的
我们试试解密

[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第49张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第50张图片
注意只解密简单的密文

我们为什么要加密,是为了安全
但是能解密又谈何安全呢,我们这能解密完全是因为密码太简单了
所以稍复杂一点的密码是解密不了的,大可以放心

既然破解不了,那么网上那种破解密码是怎么实现的呢
这就是用到一种叫做穷举法的一种方式,就是不断的试
一旦试出来马上保存起来,存到数据库里面
所以复杂的密码,你要想破解出来肯定是要收费的

接着说我们的登录功能
所以我们判断密码是否一致的时候,也要加密一下,用密文去和数据库里面的密文匹配,看看是否相等

那么怎么加密呢
按照我们以前的思路,是不是去网上下载一个MD5加密的工具类呢
实际上不需要
因为spring已经考虑到了
注意要检查一下表名是否一致,否则会报错
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第51张图片

[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第52张图片
那么重点是怎么用
我们来看看怎么用
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第53张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第54张图片
登录调试一下
一点登录发现报错了
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第55张图片
我们找到第22行
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第56张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第57张图片
改一下
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第58张图片
再调试一下
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第59张图片
输入账号:admin
密码123456
成功进入主页了
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第60张图片
由于主页我们还没写,所以报404是正常的,说明成功了
现在我们来加主页index.jsp
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第61张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第62张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第63张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第64张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第65张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第66张图片
注意,是所有的路径都要看
而且基本上都是要这样改的
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第67张图片
都要改,这里就不赘述了
注意几个比较容易漏掉的地方
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第68张图片

[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第69张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第70张图片

[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第71张图片
需要注意的是,删除的时候不要随便删,最好看看有没有地方用到,完全没有用到的是可以删的

再调试一下
再点击登录,就进来了
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第72张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第73张图片
检查一下就好了

[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第74张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第75张图片
名字也不要写死,我们改一下
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第76张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第77张图片
注意这里如果改完没生效
那就清除一下缓存,因为这个是写在缓存里面的js
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第78张图片

这个锁屏也有一些问题,路径和乱码问题需要解决,这些移植一个项目遇到的很正常的问题
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第79张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第80张图片
下面的看一下就行,不要跟着改代码,锁屏这块先不改,因为改到后面有问题
我们发现,我们在index页面是找不到锁屏的代码的
那么这个页面在哪呢
首要要明白,这种代码肯定不在css里面
而是很有可能在js里面
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第81张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第82张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第83张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第84张图片
如果我们把上面那段代码干掉,就先干掉看看吧
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第85张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第86张图片

不要慌,这个错很容易看出来,也就是说这个方法在其它地方被调用过,
现在我们把它删掉了,那些调用到它的地方找不到这个方法了,仅此而已


大概有三四个地方调用了它,那怎么办,我们不删这个方法吗
其实很简单,不删
你调我可以,但是我方法内部不实现锁屏的方法就行了,
我们删掉方法里面的代码是一样的
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第87张图片公告层里面啥代码也不写
接下来下一个问题
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第88张图片

其实很简单
我们把这段代码拷贝出去
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第89张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第90张图片
然后试一下

[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第91张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第92张图片如果
解锁解不了,这个时候怎么办
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第93张图片
我们猜想是unlock发方法有问题
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第94张图片
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第95张图片
再测试一下,就好了
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第96张图片
如果解锁还有问题,我们就先去看原始的代码,先去分析,分析完了再改

最笨的办法就是全部考过去,但是不合理,在比较紧急的情况下可以这么做,但是不建议

因为有问题,所以我们还是先不移出来了
还原一下,锁屏这块先不改
直接在原始的基础上改一下,先将就用
[SSM+layui]汽车出租系统04_登录(SSM三层搭建、清理缓存、MD5解密)_第97张图片

总结


登录的思路就是
先写User模型(model层)然后mapper(Dao,包括UserMapper.java和UserMapper.xml)(数据层)service(业务逻辑层)、然后就是表示层(控制器和view)
架子搭好写具体的逻辑
查找这个用户是否存在,账号密码是否正确即可,增删改查里面,需要用到查

☆自己用其它的逆向工程来写也是可以的,,手写都行,只是逆向工程可以大大提高开发效率

你可能感兴趣的:(SSM+layUI)