BOS项目(SSH)03_04_登录功能--MD5加密、MD5加盐、EasyUI提示框和下拉菜单、登录退出功能、切换皮肤

系列文章目录

MD5登录

MD5加密

我们在项目中,数据库中存储密码一般是不存储明文的,否则很不安全
一般使用MD5加密
MD5是不可逆的加密方式
首先先研究一下sql
sql(mySql)如下
insert:

insert into t_user(id,username,password) values (3,'wangwu',md5('123456'));

在这里插入图片描述
再研究一下update查询如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
数据库里面的密码实际上变成MD5加密的了,此时如果登录的时候我们的代码里面依旧不做任何处理,那么永远也登录不上
因为123 不等于 202cb962ac59075b964b07152d234b70(虽然也是123,但是是加密后的123)
在这里插入图片描述
其实很简单,在代码里面原理是一样的,我没也输入密码的时候加密就行了,操作上稍有不同,因为musql是集成了MD5的加密
我们加密的方法要自己写
复制这段代码,到时候直接用这个类就行了

public class MD5Utils {
    
    

    public static String text2md5(String text) {
    
    

        try {
    
    
            MessageDigest digest = MessageDigest.getInstance("md5");
            byte[] bs = digest.digest(text.getBytes());
            String hexString = "";
            for (byte b : bs) {
    
    
                int temp = b & 255;
                if (temp < 16 && temp >= 0) {
    
    
                    hexString = hexString + "0" + Integer.toHexString(temp);
                } else {
    
    
                    hexString = hexString + Integer.toHexString(temp);
                }
            }
            return hexString;
        } catch (NoSuchAlgorithmException e) {
    
    
            e.printStackTrace();
        }
        return "";

    }
}

把代码整到这个utils包下来就行了很简单
在这里插入图片描述
其实在这里也行,但是破坏了代码的规范性,逻辑代码应该在三层里面去写,这里的业务代码应该写在service层
在这里插入图片描述
所以删掉,我们在service层去处理
一行代码搞定:
在这里插入图片描述
很简单,其实就是一行代码

MD5加盐

什么叫MD5加盐
意思就是如果用户设置了简单的密码
比如123456,我们一般回提示用户不能设置过于简单的密码
但是如果用户非要设置这种简单的密码,我们就得加盐
否则,很容易被别人破解
比如
123456——>md5
123456&234b1——>md5
我们给它加一段,即形象的说加盐
在这里插入图片描述
加的这段东西,别人就猜不出来是什么了,要我们内部开发人员才知道,即查看源码才知道,猜是难度非常之巨大的
在这里插入图片描述
改成
拼接上一个“盐”
在这里插入图片描述
知道怎么加就行了,记住插入数据的的时候,也要加,这里我们暂时不加了

EasyUI提示框和下拉菜单

提示框

什么叫提示框
在这里插入图片描述
在这里插入图片描述
我们要知道在easyUI里面提示框是怎么做的
怎么做的,首先要有思路
那就是首先看easyUI的源码
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
效果都点出来看看
我们看一下basic的源码
在这里插入图片描述
这个show拷贝一下就可以用

下拉框

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
效果如下
在这里插入图片描述

登录退出功能

需求
在这里插入图片描述
在session里面有存储用户信息,所以很简单
在这里插入图片描述

在这里插入图片描述
退出功能:
在这里插入图片描述
查找这个方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
根据struts的访问规则,我们可以得知,我们需要在UserAction里面去写一个logout方法
在这里插入图片描述
注意如果删了,在struts.xml配置文件里面对应的也要删掉,否则struts.xml里面会报错,会说找不到对应的类
那么在UserAction里面的loginout我们写什么呢
想想退出登录的思路是什么
是不是就是首先清除session,然后返回(跳转)到登录页面
下面看具体操作

在这里插入图片描述
因为userAction里面并没有配置login
在这里插入图片描述
加一个其实也可以,但是这种不能显示出我没装逼的能力,学习另外一种方式
在这里插入图片描述
上面这个红框里面的做法,我们删掉,看另外一种方式

在全局里面加上这个(注意必须要加上这个才有效)
在这里插入图片描述
如果不加这个重定向,虽然也能退出,但是则地址不会改变,就会比较怪异
在这里插入图片描述
在这里插入图片描述
所以重定向是会改变地址的,而默认的转发不会
然后就是测试了

切换皮肤的研究

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
观察源码可以得知,其实就是每一个主题都有每一个主题的css

注意

重定向是会改变地址栏的,而转发不会
默认都是转发,但是可以改成重定向
例如
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41753340/article/details/115218766