黑马点评项目总结及个人优化

2024-05-14 14:44

本文主要是介绍黑马点评项目总结及个人优化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

怎么根据前端代码实现自己的后端业务,实现不同接口

  1. 查阅文档:如果有完善的接口文档,可以直接查阅文档来了解后端所有接口的业务逻辑和功能。

  2. 阅读后端代码:通过阅读后端代码,特别是控制器(Controller)层和服务(Service)层的代码,可以了解后端所有接口的具体实现逻辑。

  3. 使用接口调试工具:可以使用接口调试工具(如Postman、Insomnia等)来发送请求,查看后端接口的响应结果,从而了解每个接口的功能和参数。

  4. 与后端开发人员沟通:与后端开发人员进行沟通,询问接口的详细信息和业务逻辑,可以更加直接地了解后端所有接口的功能和用法。

  5. 通过前端代码间接确定:前端代码通常会调用后端接口来获取数据或执行操作,因此可以通过分析前端代码,查看接口的调用情况和参数,间接了解后端所有接口的业务逻辑和功能。

Nginx

反向代理服务器:Nginx 可以作为反向代理服务器,接收客户端的请求,并将请求转发给后端的多个服务器。通过反向代理,Nginx 可以隐藏后端服务器的真实 IP 地址、提供负载均衡和高可用性,并对客户端和服务器之间的通信进行优化。

  • 反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问。
  • 我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器 地址,隐藏了真实服务器 IP 地址。

负载均衡器:Nginx 支持多种负载均衡算法(如轮询、加权轮询、IP 哈希、最少连接等),可以将请求分发到多个后端服务器上,以实现负载均衡,提高整个系统的性能和可伸缩性。

  • 增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡
  • 客户端发送多个请求到服务器,服务器处理请求,有一些可能要与数据库进行交互,服 务器处理完毕后,再将结果返回给客户端。
  1. 静态资源服务器:Nginx 可以快速、高效地提供静态资源(如 HTML、CSS、JavaScript、图片、视频等)的访问服务,同时支持 gzip 压缩和 HTTP 缓存等功能,提高资源传输的效率和网站加载速度。
  2. 反向代理缓存:Nginx 可以作为反向代理缓存服务器,缓存静态和动态内容,减轻后端服务器的负载,并加速客户端访问。它可以根据 HTTP 头信息、响应状态码和 URL 等条件进行灵活的缓存配置。

  3. SSL/TLS 终端:Nginx 支持 SSL/TLS 协议,可以作为 SSL/TLS 终端,对客户端和服务器之间的通信进行安全加密和解密,保护数据的机密性和完整性。

登录

基于session登录

短信验证码登录

配置登录拦截器

第一个更新token,第二个判断是否登录。

向 Spring MVC 框架中添加拦截器,LoginInterceptor 是一个自定义的拦截器,用于拦截用户的登录请求。

  1. excludePathPatterns这一句是设置拦截器需要放行的请求路径列表。

  2. "/user/code", "/user/login", "/blog/hot", "/shop/**", "/shop-type/**", "/upload/**", "/voucher/**": 这是放行请求的路径列表。这些路径表示用户在访问这些请求时,不会被拦截器拦截。

封装UserDTO,返回给前端的Entity数据使用BeanUtil工具类转成DTO

@Data 是一个注解,通常与 Lombok 库一起使用,它可以自动生成类的 getter、setter、toString()equals()hashCode() 方法,从而简化了 Java 类的编写。DTO 类用于在不同的层之间传输数据。

Session集群共享问题

什么是Session集群共享问题

当一个网站或应用部署在多个服务器上时,用户的会话数据(比如登录状态、购物车内容等)需要在这些服务器之间共享,以保证用户在不同服务器上的操作是一致的。然而,如果不采取特殊的措施,这些服务器之间并不会自动共享会话数据,而是会在各自的服务器上保存各自的会话数据。这就导致了会话数据的不一致性,造成了用户体验的问题,比如用户在一个服务器上登录了,但是在另一个服务器上却看不到登录状态。

如何解决Session集群共享问题

方案一:Session拷贝(不推荐),Tomcat提供了Session拷贝功能,通过配置Tomcat可以实现Session的拷贝,但是这会增加服务器的额外内存开销,同时会带来数据一致性问题。

Tomcat 是一个流行的开源的 Java 服务器,可以将 Java Web 应用程序部署到服务器上并提供服务。使用 Tomcat 的会话复制功能,也就是在集群环境下,将一个节点(服务器)的会话数据复制到其他节点上

这篇关于黑马点评项目总结及个人优化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/989032

相关文章

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

小白也能轻松上手! 路由器设置优化指南

《小白也能轻松上手!路由器设置优化指南》在日常生活中,我们常常会遇到WiFi网速慢的问题,这主要受到三个方面的影响,首要原因是WiFi产品的配置优化不合理,其次是硬件性能的不足,以及宽带线路本身的质... 在数字化时代,网络已成为生活必需品,追剧、游戏、办公、学习都离不开稳定高速的网络。但很多人面对新路由器

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三

MySQL深分页进行性能优化的常见方法

《MySQL深分页进行性能优化的常见方法》在Web应用中,分页查询是数据库操作中的常见需求,然而,在面对大型数据集时,深分页(deeppagination)却成为了性能优化的一个挑战,在本文中,我们将... 目录引言:深分页,真的只是“翻页慢”那么简单吗?一、背景介绍二、深分页的性能问题三、业务场景分析四、

Linux进程CPU绑定优化与实践过程

《Linux进程CPU绑定优化与实践过程》Linux支持进程绑定至特定CPU核心,通过sched_setaffinity系统调用和taskset工具实现,优化缓存效率与上下文切换,提升多核计算性能,适... 目录1. 多核处理器及并行计算概念1.1 多核处理器架构概述1.2 并行计算的含义及重要性1.3 并

IntelliJ IDEA2025创建SpringBoot项目的实现步骤

《IntelliJIDEA2025创建SpringBoot项目的实现步骤》本文主要介绍了IntelliJIDEA2025创建SpringBoot项目的实现步骤,文中通过示例代码介绍的非常详细,对大家... 目录一、创建 Spring Boot 项目1. 新建项目2. 基础配置3. 选择依赖4. 生成项目5.

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

JavaSE正则表达式用法总结大全

《JavaSE正则表达式用法总结大全》正则表达式就是由一些特定的字符组成,代表的是一个规则,:本文主要介绍JavaSE正则表达式用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录常用的正则表达式匹配符正则表China编程达式常用的类Pattern类Matcher类PatternSynta