2.项目疑问

Day01

1.前后端分离项目的全局异常处理怎么做

使用@ControllerAdvice+@ExceptionHandler(类.class)来实现异常处理

@ControllerAdvice: Controller增强器。将异常处理器应用到所有的控制器

@ExceptionHandler:异常处理器,只要发生异常就会捕捉。根据异常类型不同做不同的处理

@ResponseBody:将异常直接写入到HTTP响应体中。

 

2.用户自定义异常怎么实现的

自定义异常类继承RuntimeException,属性是枚举类型,里面有各种异常信息。通过有参构造器构造。

throw new CustomException(异常信息)

 

Day02

1.用户登录是怎样设计的,怎样保证密码的安全呢?

①在service里调用mapper的方法根据id获取对象user

②如果user为空,那么账号不存在。然后判断密码是否错误,账号是否锁定,是否有权限

③然后根据用户id根据jwt生成token,返回给前端调用

密码安全:

通过密码+盐(随机生成字符串),然后生成MD5(密码MD5+盐)

2.你项目用到的nacos的作用是什么

①nacos是注册中心,配置管理。让程序读取配置的

②nacos的地址是保存在项目的bootstrap.yml,优先级高。

③nacos配置更新,程序无需重启。所以需要将运行调整的参数放在nacos配置中心

3.用户登录jwt怎样生成的token

①首先创建HashMap,存储JWT的声明claim。把用户id存放在这个声明里面。

②通过Jwts工厂类创建一个JWT构建器

③JWT的唯一标识UUID,根据当前时间设置JWT的签发时间,设置主题,签发者,接收者,通过密钥进行签名,一个小时过期。

④将创建的声明claim(用户id)加入到jwt的body

JWT用户身份验证和信息传递,包括用户自定义的id,过期时间,接收者等信息

4.你用过哪些接口测试工具

①postman

②swagger

③knife4j

Day03

1.项目的网关是怎样配置的,网关的作用是什么

①导入依赖

gateway

nacos-discovery

nacos-config

②创建配置文件bootstrap.yml,包括服务的基本信息,nacos地址,路由

③在nacos里面进行yml配置

端口请求访问的是网关,基于路由规则判断,拉取服务列表,进行负载均衡发送请求。

2.全局拦截器jwt是怎样设计的

       /**实现Ordered,GlobalFilter接口

        * 全局路由:

        * 1.根据请求体的路径,如果是login那么就放行。

        * 否则

        * 1.通过请求头获取token

        * 2.如果token为空,请求拦截

        * 3.token不为空,根据claims判断是否过期,如果过期就拦截,不过期就放行。

        */

3.Nginx的作用是什么

①通过反向代理访问后台的网关资源

②通过静态服务器访问前端静态页面

Day04

1.滚屏分页的逻辑是怎样实现的?

加载上面的最  发表时间>0

加载下面的更  发表时间<2053

 

2.为什么文章表要拆分?

垂直拆分:将一个表的字段分散到多个表中,每个表保存一部分字段

优势:

①减少IO争抢,减少锁表的几率。查看文章概述和文章详情不影响

②高频数据的操作效率,对文章概述的操作高效率不会被操作文章详情低效率拖累。

拆分规则:

①不常用的放一个表

②经常查询的放一个表

③把大字段放一个表

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/188382.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【软件推荐】我的常用Windows软件

文章目录 前言Colors Lite&#xff08;颜色吸取&#xff09;Everything&#xff08;文件搜索&#xff09;知云文献翻译Directory Opus&#xff08;文件管理器&#xff09;Snipaste&#xff08;截图&#xff09;AxMath&#xff08;公式编辑器&#xff09;Deskpin&#xff08;窗口…

深度学习(五)softmax 回归之:分类算法介绍,如何加载 Fashion-MINIST 数据集

Softmax 回归 基本原理 回归和分类&#xff0c;是两种深度学习常用方法。回归是对连续的预测&#xff08;比如我预测根据过去开奖列表下次双色球号&#xff09;&#xff0c;分类是预测离散的类别&#xff08;手写语音识别&#xff0c;图片识别&#xff09;。 现在我们已经对回…

链表(一)----关于单链表的一切细节这里都有

一.链表 1 链表的概念及结构 概念&#xff1a;链表是一种物理存储结构上非连续、非顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接次序实现的 。 现实中的链表结构 数据结构中的链表结构 1.链式结构在逻辑上是连续的&#xff0c;但在物理上不一定是…

【图解算法】- 异位词问题:双指针+哈希表

一 - 前言 介绍&#xff1a;大家好啊&#xff0c;我是hitzaki辰。 社区&#xff1a;&#xff08;完全免费、欢迎加入&#xff09;日常打卡、学习交流、资源共享的知识星球。 自媒体&#xff1a;我会在b站/抖音更新视频讲解 或 一些纯技术外的分享&#xff0c;账号同名&#xff…

Linux系统(CentOS7)上安装MYSQL8.x

Linux系统是CentOS7版本&#xff0c;今天在新电脑上安装MYSQL&#xff0c;跟着网上的文章&#xff0c;尝试了好几次&#xff0c;都是启动失败&#xff0c;删了安&#xff0c;安了删&#xff0c;搞了一下午&#xff0c;头昏脑胀&#xff0c;网上的一些文章太乱了&#xff0c;每种…

flink中配置Rockdb的重要配置项

背景 由于我们在flink中使用了状态比较大&#xff0c;无法完全把状态数据存放到tm的堆内存中&#xff0c;所以我们选择了把状态存放到rockdb上&#xff0c;也就是使用rockdb作为状态后端存储,本文就是简单记录下使用rockdb状态后端存储的几个重要的配置项 使用rockdb状态后端…

geoserver点聚合样式sld

【第六章 WebGIS】geoserver生成点聚合效果 - 知乎 需要WPS插件&#xff0c;注意版本要对应 GeoServer&#xff0c;加压缩后的jar包放到geoserver的lib目录下&#xff0c;重启geoserver。 原始默认样式 聚合sld样式 <?xml version"1.0" encoding"ISO-8859…

基于51单片机步进电机节拍步数正反转LCD1602显示( proteus仿真+程序+原理图+设计报告+讲解视频)

基于51单片机步进电机节拍步数正反转LCD1602显示 &#x1f4d1;1. 主要功能&#xff1a;&#x1f4d1;2. 讲解视频&#xff1a;&#x1f4d1;3. 仿真&#x1f4d1;4. 程序代码&#x1f4d1;5. 设计报告&#x1f4d1;6. 设计资料内容清单&&下载链接&#x1f4d1;[资料下…

Appium移动自动化测试--安装Appium

Appium 自动化测试是很早之前就想学习和研究的技术了&#xff0c;可是一直抽不出一块完整的时间来做这件事儿。现在终于有了。 反观各种互联网的招聘移动测试成了主流&#xff0c;如果再不去学习移动自动化测试技术将会被淘汰。 web自动化测试的路线是这样的&#xff1a;编程语…

使用Microsoft Dynamics AX 2012 - 2. 入门:导航和常规选项

Microsoft Dynamics AX的核心原则之一是为习惯于Microsoft软件的用户提供熟悉的外观和感觉。然而&#xff0c;业务软件必须适应业务流程&#xff0c;这可能相当复杂。 用户界面和常见任务 在我们开始进行业务流程和案例研究之前&#xff0c;我们想了解一下本章中的常见功能。…

“轻松实现文件复制备份,自动编号轻松管理

在日常工作中&#xff0c;我们经常需要复制文件到另一个文件夹进行备份或整理。然而&#xff0c;手动复制粘贴不仅效率低下&#xff0c;还容易出错。为了解决这个问题&#xff0c;我们推出了一款全新的文件工具——【文件批量改名高手】&#xff0c;让你轻松搞定文件复制备份&a…

基于SSM+Vue的校园共享单车管理系统

基于SSMVue的校园共享单车管理系统的设计与实现~ 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringMyBatisSpringMVC工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 主页 登录界面 管理员界面 用户界面 摘要 随着城市交通的不断发展和人们出…