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

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 Cloud Gateway的全局异常处理

    Spring Cloud Gateway作为一款基于Spring Framework 5、Project Reactor和Spring Boot 2.0构建的云原生网关框架,它提供了强大的路由转发能力和灵活的过滤器模型,能够很好地满足微服务网关的各种需求。然而,在实际...

    Spring Boot集成Mybatis附加自动生成工具,异常信息处理等工具类,拦截器,最全框架

    总的来说,这个项目提供了一个完整的Spring Boot和Mybatis集成方案,涵盖了开发过程中的多个重要方面,如自动化工具、异常处理和拦截器,这对于构建高效且可维护的Web应用来说是非常有益的。同时,通过`...

    从零开始学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 ...

    Spring Boot 学习笔记完整教程.pdf

    - 全局异常处理:Spring Boot允许开发者配置全局异常处理器,从而集中处理项目中的异常。 - 数据库操作:Spring Boot提供了多种数据库操作方式,如使用JPA连接数据库,配置JPA,整合JPA保存数据,使用JdbcTemplate...

    springboot spring aop 拦截器注解方式实现脱敏

    虽然在这个特定的例子中,`application.properties`可能没有直接与拦截器相关,但我们可以在这里配置一些全局属性,比如日志级别,这对于调试和监控拦截器的行为非常有用。例如: ```properties logging.level.org....

    SpringBoot拦截器的使用介绍.docx

    SpringBoot 拦截器是基于Spring MVC框架的拦截机制,用于在请求处理前后执行特定逻辑,例如权限验证、日志记录、性能监控等。在SpringBoot应用中,我们可以使用多种方式来定义和注册拦截器。 ### 定义拦截器 1. **...

    springboot入门(全局 异常拦截)

    下面将详细讲解Spring Boot如何实现全局异常拦截,并结合给出的"spring-boot-01"文件,探讨相关知识点。 1. **Spring Boot基础知识** Spring Boot简化了Java Web应用的开发,通过内嵌Servlet容器(如Tomcat或Jetty...

    Spring boot拦截器实现IP黑名单的完整步骤

    Spring Boot拦截器实现IP黑名单的完整步骤 Spring Boot拦截器是一种非常强大的工具,可以帮助我们实现各种业务逻辑的拦截和处理。在这篇文章中,我们将详细介绍如何使用Spring Boot拦截器来实现IP黑名单的功能。 ...

    果子学院Spring boot源码解析

    9. **AOP(面向切面编程)**:Spring Boot对AOP的支持使得开发者可以轻松地创建全局拦截器,如日志记录、事务管理等。 10. **错误页面处理**:通过`ErrorController`和`ErrorAttributes`,Spring Boot可以优雅地...

    防止SpringMVC拦截器拦截js等静态资源文件的解决方法

    在SpringMVC的配置文件中(通常是spring-mvc.xml),可以通过配置元素来定义一个或多个拦截器。在定义拦截器时,可以使用元素来指定不希望拦截器拦截的路径。这些路径包括静态资源文件的位置,比如所有.js、.css后缀...

    基于Spring Boot框架的用户管理系统.zip

    本项目是一个基于Spring Boot框架的用户管理系统,涵盖了用户数据的增删改查、分页查询、自定义查询、Redis缓存操作、定时任务、异步任务、拦截器配置、异常处理等功能。项目使用了Spring Boot、MyBatis、Redis、...

    Spring Boot配置拦截器及实现跨域访问的方法

    Spring Boot配置拦截器及实现跨域访问的方法 在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 + Vue全栈开发实战随书源码附件

    Vue.js前端可以通过拦截器处理JWT的添加和刷新,确保安全的前后端通信。 在项目部署方面,Spring Boot应用通常被打包为可执行的JAR文件,可以独立运行。Vue.js应用则通过`npm run build`打包成静态资源,部署到...

    springboot拦截器实现拦截器 权限校验,登录demo

    在Spring Boot应用中,拦截器(Interceptor)是一个强大的工具,用于在请求被处理之前或之后执行自定义逻辑。本文将详细介绍如何在Spring Boot中实现拦截器以进行权限校验和登录验证,通过一个简单的Demo来阐述整个...

    Spring Boot项目开发实战教程.docx

    - **自定义异常**:除了使用Spring Boot提供的异常处理机制外,还可以自定义异常类来更精确地处理错误情况。 #### 六、安全设置 - **Spring Security集成**:Spring Security是Spring官方提供的用于实现Web应用...

    spring boot搭建(三)

    Spring Boot提供了对AOP的支持,我们可以通过`@Aspect`定义切面,`@Before`、`@After`、`@Around`等注解定义拦截器。 四、Druid数据源 Druid是阿里巴巴开源的一个数据库连接池组件,它提供了强大的监控和扩展功能...

Global site tag (gtag.js) - Google Analytics