Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >spring boot 异常拦截器全局友提示

spring boot 异常拦截器全局友提示

原创
作者头像
FHAdmin
发布于 2022-04-18 00:39:46
发布于 2022-04-18 00:39:46
46200
代码可运行
举报
文章被收录于专栏:FHADMINFHADMIN
运行总次数:0
代码可运行

1. 添加config 配置类

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package org.fh.config;
 
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.view.json.MappingJackson2JsonView;
 
/**
 * 说明:错误异常拦截处理
 * 作者:FH Admin
 * from fhadmin.cn
 */
@Configuration
public class ExceptionConfiguration implements HandlerExceptionResolver {
 
	@Override
	public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler,
			Exception ex) {
		ModelAndView mv = new ModelAndView(new MappingJackson2JsonView());	//返回json
		
		String exInfo = ex.toString().replaceAll("\n", "<br/>");
		
		boolean status = exInfo.contains("Subject does not have permission");
		
		if(status){
			exInfo = "[没有此页面的访问权限]" + exInfo;
        }else {
        	System.out.println("==============异常开始=============");
    		ex.printStackTrace();
    		System.out.println("==============异常结束=============");
        }
		mv.addObject("exception", exInfo);
		mv.addObject("result", "exception");
		
		return mv;
	}
	
}

2.  在逻辑类的方法上抛出异常 throws Exception,比如  

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
	/**删除
	 * @param out
	 * @throws Exception
	 */
	@RequestMapping(value="/delete")
	@RequiresPermissions("autograph:del")
	@ResponseBody
	public Object delete() throws Exception{
		Map<String,String> map = new HashMap<String,String>();
		String errInfo = "success";
		//xxxx
		map.put("result", errInfo);				//返回结果
		return map;
	}

3. 前端页面接收异常结果

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
            //发送 post 请求提交保存
            $.ajax({
	            	xhrFields: {
	                    withCredentials: true
	                },
					type: "POST",
					url: httpurl+'xxxx/delete',
			    	data: {tm:new Date().getTime()},
					dataType:"json",
					success: function(data){
                        if("success" == data.result){
                        	
                        }else if ("exception" == data.result){
                        	alert("模块异常"+data.exception);//显示异常
                        	
                        }
                    }
				});            

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Spring学习笔记(9)一springMVC/boot全局异常处理和参数校验
我们使用springboot做 Restfull API,希望能全局处理异常,返回自定义错误码。类似:
黄规速
2022/04/14
9130
Spring学习笔记(9)一springMVC/boot全局异常处理和参数校验
掌握 Spring 之异常处理
这次我们学习 Spring 的异常处理,作为一个 Spring 为基础框架的 Web 程序,如果不对程序中出现的异常进行适当的处理比如异常信息友好化,记录异常日志等等,直接将异常信息返回给客户端展示给用户,对用户体验有不好的影响。所以本篇文章主要探讨通过 Spring 进行统一异常处理的几种方式实现,以更优雅的方式捕获程序发生的异常信息并进行适当的处理响应给客户端。
闻人的技术博客
2019/09/19
1.9K0
掌握 Spring 之异常处理
@ExceptionHandler or HandlerExceptionResolver?如何优雅处理全局异常?【享学Spring MVC】
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
YourBatman
2019/10/22
5.1K0
@ExceptionHandler or HandlerExceptionResolver?如何优雅处理全局异常?【享学Spring MVC】
Spring学习笔记(十)——SpringMVC框架中的拦截器和异常处理
注意:配置多个拦截器需要在springmvc.xml在建一个<mvc:interceptors>,当设置多个拦截器后,执行的顺序如下:
不愿意做鱼的小鲸鱼
2022/09/24
4760
Spring学习笔记(十)——SpringMVC框架中的拦截器和异常处理
java架构之路-(SpringMVC篇)SpringMVC主要流程源码解析(下)
  我们上次大致说完了执行流程,也只是说了大致的过程,还有中间会出错的情况我们来处理一下。
小菜的不能再菜
2019/10/09
3830
java架构之路-(SpringMVC篇)SpringMVC主要流程源码解析(下)
SpringMVC之拦截器和异常处理
Spring MVC中的拦截器(Interceptor),它主要用于拦截用户请求并作相应的处理。例如通过拦截器可以进行​权限验证​、记录​请求信息的日志​、​判断用户是否登录​等。要使用Spring MVC中的拦截器,就需要对拦截器类进行定义和配置。
张哥编程
2024/12/13
1970
SpringMVC之拦截器和异常处理
全局异常处理器
自定义异常类: package com.shi.ssm.exception; /* * 自定义异常类 */ public class CustomException extends Except
用户5927264
2019/07/31
5880
SpringMVC-Interceptor
# SpringMVC配置 <!-- 配置 SpringMVC 的 DispatcherServlet --> <!-- The front controller of this Spring Web application, responsible for handling all application requests --> <servlet> <servlet-name>springDispatcherServlet</servlet-name> <
Java开发者之家
2021/06/17
3020
SpringMVC04之JSON和全局异常处理
        4.2 通过HandlerExceptionResovler接口实现全局异常
天蝎座的程序媛
2022/11/18
4280
SpringMVC04之JSON和全局异常处理
SpringMVC学习笔记 (day2)
添加 jar 包 即可,开两个 Tomcat服务器,使用不同的端口进行跨服务器上传文件
Gorit
2021/12/08
2930
SpringMVC学习笔记 (day2)
springmvc之异常处理中ExceptionHanderExceptionResolver
1、springmvc通过HandlerExceptionResolver处理程序的异常,包括Handler映射、数据绑定以及目标方法执行时发生的异常。
西西嘛呦
2020/08/26
4750
springmvc之异常处理中ExceptionHanderExceptionResolver
【SpringMVC】008-SpringMVC异常处理
訾博ZiBo
2025/01/06
680
【SpringMVC】008-SpringMVC异常处理
spring设置全局异常处理器
1.spring设置全局异常,它的原理是向上捕获 spring.xml配置 <!--自定义全局异常处理器--> <bean id="globalExceptionResolver" class="com.data.controller.exception.GlobalExceptionResolver"/> import com.data.service.email.EmailMessage; import com.data.utils.constant.AliasConstant; impo
Gxjun
2018/03/27
9450
SpringMVC--拦截器、异常处理
SpringMVC中内置了拦截器功能,和Servlet的过滤器功能类似,前面我们了解到所有请求的处理的都是由SpringMVC的核心组件:前端控制器,前端控制器由会向三大组件进行转发,由处理单元进行请求处理,视图解析器进行页面渲染,将结果返回浏览器,拦截器就是在前端控制器之后,对请求进行拦截处理
aruba
2022/05/26
6060
spring实现Validator校验和全局异常处理
我们尝试去捕获这个异常MethodArgumentNotValidException
阿超
2022/08/16
7710
spring实现Validator校验和全局异常处理
Spring MVC介绍(二)之 Spring MVC 执行流程解析
此时启动容器,访问 http://localhost:8080/spring_mvc/beanName ,可以看到显示的是我们control返回的数据。
zoro
2019/04/11
5360
Spring MVC介绍(二)之 Spring MVC 执行流程解析
Spring MVC异常处理【单个控制异常处理器、全局异常处理器、自定义异常处理器】
会洗碗的CV工程师
2023/10/14
4570
Spring MVC异常处理【单个控制异常处理器、全局异常处理器、自定义异常处理器】
Spring MVC核心技术
目录 异常处理 类型转换器 数据验证 文件上传与下载 拦截器 ----  异常处理 Spring MVC中, 系统的DAO, Service, Controller层出现异常, 均通过throw Ex
用户1216491
2018/03/29
9260
Spring MVC核心技术
SpringBoot全局异常处理
全局异常处理是个比较重要的功能,一般在项目里都会用到。 我大概把一次请求分成三个阶段,来分别进行全局的异常处理。 一:在进入Controller之前,譬如请求一个不存在的地址,404错误。 二:在执行@RequestMapping时,进入逻辑处理阶段前。譬如传的参数类型错误。 三:以上都正常时,在controller里执行逻辑代码时出的异常。譬如NullPointerException。 第一种情况:
天涯泪小武
2019/01/17
8780
SpringMVC全局异常处理机制
SpringMVC除了可以做URL映射和请求拦截外,还可以做全局异常的处理。全局异常处理可能我们平时比较少机会接触,但是每个项目都肯定会做这个处理。比如在上一间公司,是前后端分离的架构,所以后端只要有运行时异常就会报“系统异常,请稍后再试”。如果想要走上架构师的话,这个肯定是要学会的。
java技术爱好者
2020/09/22
1.2K0
SpringMVC全局异常处理机制
相关推荐
Spring学习笔记(9)一springMVC/boot全局异常处理和参数校验
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验