1.springboot异常设计原理
1.springboot有一个默认的全局异常处理器BasicErrorController ,在springmvc前端控制器处理请求时如果出现异常会交给BasicErrorController进行处理
BasicErrorController主要有两个方法返回异常errorHtml和error方法
errorHtml方法可以看出只有当request中Accept 值为text/html 时才会进入,返回的是ModelAndView,最后DisPatcherServlet会将其渲染返回给页面。
如果为客户端是其他则会返回ResponseEntity,客户端接收一个json对象
2.也可以通过通过@ControllerAdvice 注解来自定义处理错误
2.前后端分离开发,日志应该如何进行记录
日志记录首先应该尽量简单而且最好格式化,springboot中可以使用自定义注解结合AOP进行日志记录
可以在每个controller上加自定义注解,将需要的信息如请求参数,响应,消耗时间,客户端的IP等信息都可以记录下来,这样出现问题时我们可以快速知道是哪来出现问题
3.跨域的含义
简单来说跨域指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。
浏览器的同源策略:是指协议,域名,端口都要相同,其中有一个不同都会产生跨域