API 统一返回对象的两种定义方式
type
Post
status
Published
date
Nov 22, 2021
slug
summary
介绍 SpringBoot 前后端分离项目中 项目中常用的两种约定 Controller 消息返回结构方式
tags
项目方案
category
技术分享
icon
password
定义返回 Controller 返回的对象字段和格式,用于统一数据格式,并让 SpringMVC 自动将对象序列化成 JSON 字符串后进行响应

消息结构固定

规定消息结构的三个字段:
  • 状态码
并查集实现
type
Post
status
Published
date
Nov 14, 2021
slug
summary
并查集也叫不相交集合,是一种树状结构,适合解决集合连接等相关问题
tags
数据结构
category
技术分享
icon
password
并查集也叫不相交集合,适合解决集合连接相关问题

介绍

  • 并查集解决的问题:
    • 有若干个样本a、b、c、...类型假设是V
通用异常处理方案总结
type
Post
status
Published
date
Nov 2, 2021
slug
summary
介绍SpringBoot项目中通用的统一异常处理方式
tags
项目方案
category
技术分享
icon
password

SpringMVC 异常机制

原则:MVC 三层出现的异常都通过 throws 抛出,最终由前端控制器 DispatcherServlet 捕获,交由异常处理器 HandlerExceptionResolver 处理
  • HandlerExceptionResolver 是异常处理器接口,实现这个接口可以自定义异常处理器
  • HTTP 异常可以在 web.xml 中配置自定义异常页面
    抵御 XSS 跨站脚本攻击
    type
    Post
    status
    Published
    date
    Oct 10, 2021
    slug
    summary
    在过滤器将请求类进行包装,并覆盖 http 参数处理方法方式实现参数转义的方式对可能的 XSS 脚本代码过滤
    tags
    项目方案
    category
    技术分享
    icon
    password

    XSS 攻击介绍

    XSS 就是一段可以被网页程序执行的恶意代码指令,通常是JavaScript,但实际上也可以包括 Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。
    攻击者通过 XSS 可以获得比较高的权限来执行一些操作,例如获取私密网页内容、会话和cookie等各种内容,对应用安全造成影响。
    • 例如用户在发帖或者注册的时候,在文本框中输入<script>alert('xss')</script>,这段代码如果不经过转义处理,而直接保存到数据库。将来视图层渲染HTML的时候,把这段代码输出到页面上,那么<script>标签的内容就会被执行。
    模板引擎:Thymeleaf
    type
    Post
    status
    Published
    date
    Sep 23, 2021
    slug
    summary
    tags
    模板引擎
    category
    技术分享
    icon
    password
    Thymeleaf 是 SpringBoot 官方推荐的模板引擎,和 Freemarker 相比:
    • 支持HTML原型格式,浏览器可以直接打开
    • 可以作为 HTML 片段、代码模板、右键模板等
    模板引擎:FreeMarker
    type
    Post
    status
    Published
    date
    Sep 16, 2021
    slug
    summary
    tags
    模板引擎
    category
    技术分享
    icon
    password
    模板引擎是服务端渲染,页面静态化技术之一,也是MVC架构中的V(视图层)技术,和JSP类似
    页面静态化:
    • 例如有的列表页访问量大,但数据变化频率不高,每一次访问都需要查询数据库动态获取数据进行展示,对数据库造成很大的访问压力
    • 页面静态化将原来动态网页(如通过ajax请求动态获取数据库中的数据并展示的网页)改为通过静态化技术生产的静态网页,这样用户在访问网页时,服务器直接响应静态html页面,而不进行动态查询数据库