五,搭建环境:辅助功能

打印 上一主题 下一主题

主题 914|帖子 914|积分 2742

五,搭建环境:辅助功能

@
目录

编写登录失败异常

我们在 demo-module04-util 模块下,创建一个名为:com.rainbowsea.imperial.court.exception的包下,创建一个名为:LoginFailedException 的异常类——> 作为登录异常的处理。
  1. package com.rainbowsea.imperial.court.exception;
  2. public class LoginFailedException  extends RuntimeException {
  3.     public LoginFailedException() {
  4.     }
  5.     public LoginFailedException(String message) {
  6.         super(message);
  7.     }
  8.     public LoginFailedException(String message, Throwable cause) {
  9.         super(message, cause);
  10.     }
  11.     public LoginFailedException(Throwable cause) {
  12.         super(cause);
  13.     }
  14.     public LoginFailedException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
  15.         super(message, cause, enableSuppression, writableStackTrace);
  16.     }
  17. }
复制代码
编写常量类

我们在 demo-module04-util 模块下,创建一个名为:com.rainbowsea.imperial.court.utils的包下,创建一个名为:ImperialCourtConst类——> 作为常量类,定义我们项目中所须要的一些常量信息。
  1. package com.rainbowsea.imperial.court.utils;
  2. public class ImperialCourtConst {
  3.     public static final String LOGIN_FAILED_MESSAGE = "账号、密码错误,不可进宫!";
  4.     public static final String ACCESS_DENIED_MESSAGE = "宫闱禁地,不得擅入!";
  5.     public static final String LOGIN_EMP_ATTR_NAME = "loginInfo";
  6. }
复制代码
MD5 工具 (加密工具类)

我们在 demo-module04-util 模块下,创建一个名为:com.rainbowsea.imperial.court.utils的包下,创建一个名为:MD5Util类——> 作为工具类,定义我们项目中所须要的一些工具方法。
  1. package com.rainbowsea.imperial.court.utils;
  2. import java.math.BigInteger;
  3. import java.security.MessageDigest;
  4. import java.security.NoSuchAlgorithmException;
  5. public class MD5Util {
  6.     /**
  7.      * 针对明文字符串执行MD5加密
  8.      *
  9.      * @param source
  10.      * @return
  11.      */
  12.     public static String encode(String source) {
  13.         // 1.判断明文字符串是否有效
  14.         if (source == null || "".equals(source)) {
  15.             throw new RuntimeException("用于加密的明文不可为空");
  16.         }
  17.         // 2.声明算法名称
  18.         String algorithm = "md5";
  19.         // 3.获取MessageDigest对象
  20.         MessageDigest messageDigest = null;
  21.         try {
  22.             messageDigest = MessageDigest.getInstance(algorithm);
  23.         } catch (NoSuchAlgorithmException e) {
  24.             e.printStackTrace();
  25.         }
  26.         // 4.获取明文字符串对应的字节数组
  27.         byte[] input = source.getBytes();
  28.         // 5.执行加密
  29.         byte[] output = messageDigest.digest(input);
  30.         // 6.创建BigInteger对象
  31.         int signum = 1;
  32.         BigInteger bigInteger = new BigInteger(signum, output);
  33.         // 7.按照16进制将bigInteger的值转换为字符串
  34.         int radix = 16;
  35.         String encoded = bigInteger.toString(radix).toUpperCase();
  36.         return encoded;
  37.     }
  38. }
复制代码
日志配置文件

在该 demo-module01-web 模块下的src/main/resources根路径下,创建一个名为logback.xml 的日志配置文件。注意:文件名就是为logback.xml不可以是其他的,必须是这个
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration debug="true">
  3.    
  4.     <appender name="STDOUT"
  5.               >
  6.         <encoder>
  7.             
  8.             
  9.             <pattern>[%d{HH:mm:ss.SSS}] [%-5level] [%thread] [%logger] [%msg]%n</pattern>
  10.             <charset>UTF-8</charset>
  11.         </encoder>
  12.     </appender>
  13.    
  14.    
  15.     <root level="INFO">
  16.         
  17.         <appender-ref ref="STDOUT" />
  18.     </root>
  19.    
  20.     <logger name="com.atguigu" level="DEBUG" additivity="false">
  21.         <appender-ref ref="STDOUT" />
  22.     </logger>
  23. </configuration>
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

麻花痒

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表