`
qingyu11068
  • 浏览: 62960 次
文章分类
社区版块
存档分类
最新评论

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

阅读更多

1. 添加config 配置类

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,比如  

	/**删除
	 * @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. 前端页面接收异常结果

            //发送 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);//显示异常
                        	
                        }
                    }
				});            

 

0
0
分享到:
评论

相关推荐

    从零开始学Spring Boot

    1.25 Spring Boot 拦截器HandlerInterceptor 1.26 Spring Boot启动加载数据CommandLineRunner 1.27 Spring Boot环境变量读取和属性对象的绑定 1.28 Spring Boot使用自定义的properties 1.29 改变自动扫描的包 1.30 ...

    基于 SpringBoot 2.3.4 版本的入门 Demo 教程

    Spring Boot 过滤器和拦截器 Spring Boot 全局异常处理 Spring Boot 参数校验 Spring Boot OpenAPI 文档集成 Spring Boot 集成 Mybatis Spring Boot 集成 Mybatis-plus Spring Boot JPA - 全自动 ORM Spring Boot ...

    Spring Boot 2.X、Spring Cloud、Spring Cloud Alibaba、Dubbo、分布式.zip

    在带你快速学会 SpringMVC API 接口的编写的同时,我还想告诉你还有全局返回、全局异常、拦截器、跨域处理等等功能。 在带你快速学会 MQ 消息的发送与消费的同时,我还想告诉你 MQ 还有集群消费、广播消费、顺序消息...

    spring boot 实践学习案例,与其它组件整合

    - Spring Boot 基础知识,包括SpringBoot起步、配置详解、aop、filter、拦截器、监听、启动器、全局异常处理、外部Tomcat启动、HTTPS、监控 等。 - springboot-data - Spring Boot 数据库操作,包括SpringJDBC、...

    基于 Spring Boot 2.X 版本的深度入门教程

    快速学会 SpringMVC API 接口的编写的同时,我还想告诉你还有全局返回、全局异常、拦截器、跨域处理等等功能。快速学会 MQ 消息的发送与消费的同时,我还想告诉你 MQ 还有集群消费、广播消费、顺序消息、定时消息、...

    spring boot 代码示例

    springboot例子, 包含druid数据源, druid的sql监控, druid过滤, mybatis xml配置, mybatis分页插件, logback日志配置, springboot多环境配置, 发送邮件, AOP拦截, 过滤器 spring拦截器, 全局异常, 统一响应, 自定义...

    grpc-spring-boot-starter:用于gRPC框架的Spring Boot启动器模块

    (请报告丢失的内容,以便我们为它们添加支持) 客户端:从spring的DiscoveryClient读取服务的目标地址(所有类型) 支持作为分布式跟踪解决方案(如果存在 ) 支持全局和自定义gRPC服务器/客户端拦截器自动公制支持...

    gRPC框架的SpringBoot启动器模块GrpcSpringBootStarter.zip

    Grpc Spring Boot Starter特点使用...server、client 分别设置全局拦截器或单个的拦截器支持 keepalive示例示例https://github.com/yidongnan/grpc-spring-boot-starter/tree/master/examples 标签:微服务框架

    SpringBoot控制器统一的响应体加密与请求体解密的注解处理方式

    SpringBoot控制器统一的响应体加密与请求体解密的注解处理方式,支持MD5/SHA/AES/DES/RSA

    SpringBoot +esapi 实现防止xss攻击 实战代码

    SpringBoot +esapi springSecurity 过滤器链集成 实现防止xss攻击 实战代码

    retrofit-spring-boot-demo:改造弹簧引导演示

    sample 演示 通过retrofit-starter搭建的环境调用 User服务的添删改查以及上传,以及retrofit-starter的诸多特性,例如: 自定义注入OkHttpClient 注解式拦截器 连接池管理 日志打印 请求重试 错误解码器 全局拦截器 ...

    深入理解热门开源项目Guns管理系统资源.txt

    01、课程介绍 02、搭建项目 03、项目介绍 04、用Guns进行开发 ...13、全局异常拦截 14、代码生成器 15、数据范围使用和原理 16、缓存讲解 17、分页讲解 18、事务讲解 19、jwt与签名机制讲解 20、课程总结

    Guns后台视频教程.txt

    目录:1、课程介绍;2、项目搭建;3、项目介绍;4、用Guns进行开发;5、Spring Boot精要;6、Spring Boot实战;...13、全局异常拦截;14、代码生成器;15、数据范围使用和原理;16、;17、;18;。。。。。。

    spring-boot-base:spring boot 2.0 基础教程,日志配置,数据源配置,事务管理等

    Boot2基础:多个拦截器配置和使用场景 06 Boot2基础:引入JdbcTemplate,和多数据源配置 07 Boot2基础:集成Druid连接池,配置监控界面 08 Boot2基础:集成Redis数据库,实现缓存管理 09 Boot2基础:集成JPA持久层框架,...

    SpringBoot 学习笔记+完整教程

    * 拦截器 HandlerInterceptor * 系统启动任务 CommandLineRunner * 集成 Junit 单元测试 * 读取系统环境变量 * 使用自定义 properties * 改变默认包扫᧿ * 自定义启动 Banner * 导入 spring XML 配置文件 * 热部署 *...

    springCloud

    二:服务介绍: 1) 服务的注册与发现 Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、...

    gRPC框架的SpringBootStarter模块

    gRPC框架的Spring Boot Starter模块,特点:使用 Spring Boot 的应用进行自动配置,内嵌 gRPC server。支持 Spring Cloud(可以通过 Spring Cloud 进行...支持对于 server、client 分别设置全局拦截器或单个的拦截器。

    Springboot中登录后关于cookie和session拦截问题的案例分析

    主要介绍了Springboot中登录后关于cookie和session拦截案例,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

    Spring Cloud Finchley SR2全套(集成Spring Gateway)

    核心基础项目内实现类自定义的权限注解,配合RBAC权限模型+拦截器即可实现权限的控制,具体的参考项目中的实现。同时也封装了一些顶层类和结果集等。 注册中心实现高可用配置,详情见eureka的one、two、three三个...

    springboot 和一些主流框架的整合的各个基本demo

    Springboot-filter-listener-interceptor 过滤器、拦截器、监听器 Springboot-mongodb 与MongoDB 整合 Springboot-elasticsearch 与 Elasticsearch 整合 Springboot-i18n SpringBoot 国际化配置 SpringBoot-multi-...

Global site tag (gtag.js) - Google Analytics