@ExceptionHandler统一捕获异常
兼容web 与 ajax 形式的全局异常处理:


判断是否Ajax请求,RestControllerAdvice =ResponesBody + ControllerAdvice
判定是否是ajax请求
Web异常处理和ajax异常处理结合使用
步骤:只需要在后端进行一个判断,判断该请求是否是ajax请求,如果是那么则以ajax异常方式处理,如果是web形式则以web异常处理形式处理即可。


web、ajax异常统一处理
先判断是否是ajax请求
40%
handler all exception
isAjax
SpringBoot配置全局的异常捕获-同时兼容web与ajax
//判断是否是ajax请求
public static boolean isAjax(HttpServletRequest request){
return (request.getHeader("X-Requested-With") != null
&& "XMLHttpRequest".equals( request.getHeader("X-Requested-With").toString()) );
5.spring资源文件配置,tomact及其他参数配置。
6.spring整合模版,freemarker及thymeleaf的用法。
7.springboot异常处理,ajax及web请求异常捕获处理。
同时处理ajax请求异常和路径请求异常
判断当前请求是否是ajax请求
httpRequest.getHeader("X-Requested-With")!=null&&"XMLHttpRequest".equals(httpRequest.getHeader("X-Requested-With").toString)
SpringBoot配置全局的异常捕获-同时兼容web与ajax
//判断是否是ajax请求
public static boolean isAjax(HttpServletRequest request){
return (request.getHeader("X-Requested-With") != null
&& "XMLHttpRequest".equals( request.getHeader("X-Requested-With").toString()) );
}
判断请求是否为ajax形式:

ajax 和 web 异常捕获结合在一起 : 进行判断,是否是ajax,如果不是就返回web的异常
是否是ajax 方法
统一返回异常的形式(同时兼容web与ajax)
判断是否ajax请求
SpringBoot 异常捕获:
定义异常注解类,在异常注解类中进行错误页面调转或给Ajax的错误对象。

判断是否是Ajax请求代码:

判断请求是否ajax请求
判断是否是ajax异常
配置全局异常捕获,判断是否为ajax请求
判断是否Ajax请求
web和ajax异常处理
/** * 判断是ajax请求还是页面请求
* * @param request 请求信息
* @return 是Ajax */
private static boolean isAjax(HttpServletRequest request) {
String h = request.getHeader("X-Requested-With");
return h != null && h.equals("XMLHttpRequest");
}
判断是否为Ajax请求
request.getHeader("X-requested_With") .equals("XMLHttpRequest");
/**
* 判断是ajax请求还是页面请求
*
* @param request 请求信息
* @return 是Ajax
*/
private static boolean isAjax(HttpServletRequest request) {
String h = request.getHeader("X-Requested-With");
return h != null && h.equals("XMLHttpRequest");
}