__Martin 2023-11-21 16:23 采纳率: 0%
浏览 2

使用全局拦截器进行加密和解密处理详细代码和配置

使用全局拦截器进行加密和解密处理详细代码和配置,配置和代码里面写的都是五花八门的一个也不对,还是建议来一个能用的并且正常的

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-11-22 06:58
    关注

    【相关推荐】



    • 你可以看下这个问题的回答https://ask.csdn.net/questions/7806003
    • 你也可以参考下这篇文章:记一次错误使用雪花算法引起的数据库主键冲突和解决时钟回拨问题
    • 您还可以看一下 吴刚老师的【吴刚】技术答疑与项目讲评视频教程(随时更新)课程中的 【个案分析】旋转工具制作花瓣的方法小节, 巩固相关知识点
    • 除此之外, 这篇博客: 设计模式之责任链模式 击鼓传花代码示例中的 最近在研究二十三种设计模式,今天看到了责任链模式,有篇博文里提到了击鼓传花的游戏和这个设计模式很是相似,就随手写了一些代码模拟了这个场景。废话不多说,上代码 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

      先创建一个抽象处理者类

      package com.zzy.responsibility;
      
      public abstract class Handle {
          private Handle handle;
          private String name;
      
          public String getName() {
              return name;
          }
      
          public void setName(String name) {
              this.name = name;
          }
      
          /**
           * 获取当前请求
           * @return
           */
          public Handle getHandle() {
              return handle;
          }
      
          /**
           * 设置下一个请求
           * @param handle
           */
          public void setHandle(Handle handle) {
              this.handle = handle;
          }
      
          /**
           * 处理当前请求的方法
           */
          public abstract void handleRequest(long time);
      }
      
      

      然后是具体处理者类

      package com.zzy.responsibility;
      
      public class ConcreteHandler extends Handle {
          //设置击鼓传花的时间为10秒
          private final long time = 10000;
          @Override
          public void handleRequest(long last) {
              //设置每个人拿到酒杯的时间,大约在1到2秒
              double random = Math.random()+1;
              int v = (int) (random * 1000);
              long now = System.currentTimeMillis();
              if(getHandle() != null && now - last <= time) {
                  System.out.println(getHandle().getName()+"传递给下一个人");
                  try {
                      Thread.sleep(v);
                  } catch (InterruptedException e) {
                      e.printStackTrace();
                  }
                  long thisTime = System.currentTimeMillis();
                  getHandle().handleRequest(last);
              }else {
                  System.out.println(getHandle().getName()+"暂停传递,来喝一杯酒");
              }
          }
      }
      
      

      最后是客户端类

      package com.zzy.responsibility;
      
      public class Client {
          public static void main(String[] args) {
              Handle person1 = new ConcreteHandler();
              person1.setName("张三");
              Handle person2 = new ConcreteHandler();
              person2.setName("王五");
              Handle person3 = new ConcreteHandler();
              person3.setName("李二");
              Handle person4 = new ConcreteHandler();
              person4.setName("赵四");
              Handle person5 = new ConcreteHandler();
              person5.setName("王六");
      
              person1.setHandle(person2);
              person2.setHandle(person3);
              person3.setHandle(person4);
              person4.setHandle(person5);
              person5.setHandle(person1);
              long now = System.currentTimeMillis();
              person5.handleRequest(now);
      
          }
      }
      
      

      输出结果

      张三传递给下一个人
      王五传递给下一个人
      李二传递给下一个人
      赵四传递给下一个人
      王六传递给下一个人
      张三传递给下一个人
      王五暂停传递,来喝一杯酒
      

      作为一个java小菜鸟还是要多多努力呀


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 11月21日

悬赏问题

  • ¥15 程序实在不会写,要秃了
  • ¥15 pycharm导入不了自己的包
  • ¥15 C#.net通过内网url地址获取文件并下载问题,浏览器postman可以正常下载,用程序不行
  • ¥15 本人本科机械,目前研一。没有深度学习基础,目前对研究生课题一片迷茫,请教各位!
  • ¥15 关于R语言单因素与多因素线性回归的平均值
  • ¥15 服务器清除BIOS之后引导不了
  • ¥15 CPLEX用OPL编写的混合整数线性优化问题。
  • ¥15 可以用EasyConnect连接实验室内网,但无法连接内网才能访问的服务器,为什么?
  • ¥15 前端预览docx文件,文件从后端传送过来。
  • ¥15 层次聚类和蛋白质相似度