牛客项目中的一些知识点

93 阅读2分钟

RESTful概念

是一个理念、设计规范。----Representational(表示层) State(状态) Transfer(转化)

URI:统一资源定位符 URI为每一个资源的地址或独一无二的识别符

表现层

JSON格式、XML格式、HTML格式

状态转化

资源放在服务器端,客户端对服务器资源的增删改查等操作,涉及到资源状态的转化

客户端可以通过一些操作使得服务器的资源发生变化,这个过程就是状态转化。 有四种操作方式——GET获取、POST上传、PUT更新、DELETE删除

为什么使用RESTful风格呢?

结构清晰、易于扩展、适用性更广泛

这个项目中用到了两个非关系型数据库

image.png

Redis

ElasticSearch

参考路飞的这篇文章可以简单入门 (144条消息) Linux环境下ElasticSearch的安装与使用(SpringBoot整合云服务器上的ElasticSearch)_兴趣使然的草帽路飞的博客-CSDN博客

image.png 关系型数据库中,有一个一个的库,每个库呢,是由各种各样的表组成的,每个表有蛮多的行作为记录,而行中是由一些字段组成的。

索引—— 拥有几分相似特征的文档的集合 类型—— 在一个索引中,你可以定义一种或多种类型,类似于数据库中的表 文档—— 类似于行,一条记录 属性—— 类似于字段。

牛客论坛中如何实现的

image.png

集成SpringSecurity模块

是专门为java提供的身份认证和授权的框架,其可以轻松扩展以满足自定义的需求。

特征:对身份的认证和授权提供全面的、可扩展的支持 防止各种攻击,会话固定攻击、点击挟持、csrf攻击 支持与servletAPI、SpringMVC等web集成

SpringSecurity的安装

导入依赖

SpringSecurityConfig(security配置)

有两种配置: 手动定义用户认证 关联用户Service认证