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);//显示异常
}
}
});
相关推荐
Spring Cloud Gateway作为一款基于Spring Framework 5、Project Reactor和Spring Boot 2.0构建的云原生网关框架,它提供了强大的路由转发能力和灵活的过滤器模型,能够很好地满足微服务网关的各种需求。然而,在实际...
总的来说,这个项目提供了一个完整的Spring Boot和Mybatis集成方案,涵盖了开发过程中的多个重要方面,如自动化工具、异常处理和拦截器,这对于构建高效且可维护的Web应用来说是非常有益的。同时,通过`...
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允许开发者配置全局异常处理器,从而集中处理项目中的异常。 - 数据库操作:Spring Boot提供了多种数据库操作方式,如使用JPA连接数据库,配置JPA,整合JPA保存数据,使用JdbcTemplate...
虽然在这个特定的例子中,`application.properties`可能没有直接与拦截器相关,但我们可以在这里配置一些全局属性,比如日志级别,这对于调试和监控拦截器的行为非常有用。例如: ```properties logging.level.org....
SpringBoot 拦截器是基于Spring MVC框架的拦截机制,用于在请求处理前后执行特定逻辑,例如权限验证、日志记录、性能监控等。在SpringBoot应用中,我们可以使用多种方式来定义和注册拦截器。 ### 定义拦截器 1. **...
下面将详细讲解Spring Boot如何实现全局异常拦截,并结合给出的"spring-boot-01"文件,探讨相关知识点。 1. **Spring Boot基础知识** Spring Boot简化了Java Web应用的开发,通过内嵌Servlet容器(如Tomcat或Jetty...
Spring Boot拦截器实现IP黑名单的完整步骤 Spring Boot拦截器是一种非常强大的工具,可以帮助我们实现各种业务逻辑的拦截和处理。在这篇文章中,我们将详细介绍如何使用Spring Boot拦截器来实现IP黑名单的功能。 ...
9. **AOP(面向切面编程)**:Spring Boot对AOP的支持使得开发者可以轻松地创建全局拦截器,如日志记录、事务管理等。 10. **错误页面处理**:通过`ErrorController`和`ErrorAttributes`,Spring Boot可以优雅地...
在SpringMVC的配置文件中(通常是spring-mvc.xml),可以通过配置元素来定义一个或多个拦截器。在定义拦截器时,可以使用元素来指定不希望拦截器拦截的路径。这些路径包括静态资源文件的位置,比如所有.js、.css后缀...
本项目是一个基于Spring Boot框架的用户管理系统,涵盖了用户数据的增删改查、分页查询、自定义查询、Redis缓存操作、定时任务、异步任务、拦截器配置、异常处理等功能。项目使用了Spring Boot、MyBatis、Redis、...
Spring Boot配置拦截器及实现跨域访问的方法 在Spring Boot框架中,拦截器是实现诸如日志记录、权限检查、性能监控等通用功能的有效手段。拦截器可以在请求到达控制器之前和之后执行特定操作。同时,由于前端与后端...
在带你快速学会 SpringMVC API 接口的编写的同时,我还想告诉你还有全局返回、全局异常、拦截器、跨域处理等等功能。 在带你快速学会 MQ 消息的发送与消费的同时,我还想告诉你 MQ 还有集群消费、广播消费、顺序消息...
- Spring Boot 基础知识,包括SpringBoot起步、配置详解、aop、filter、拦截器、监听、启动器、全局异常处理、外部Tomcat启动、HTTPS、监控 等。 - springboot-data - Spring Boot 数据库操作,包括SpringJDBC、...
Vue.js前端可以通过拦截器处理JWT的添加和刷新,确保安全的前后端通信。 在项目部署方面,Spring Boot应用通常被打包为可执行的JAR文件,可以独立运行。Vue.js应用则通过`npm run build`打包成静态资源,部署到...
在Spring Boot应用中,拦截器(Interceptor)是一个强大的工具,用于在请求被处理之前或之后执行自定义逻辑。本文将详细介绍如何在Spring Boot中实现拦截器以进行权限校验和登录验证,通过一个简单的Demo来阐述整个...
- **自定义异常**:除了使用Spring Boot提供的异常处理机制外,还可以自定义异常类来更精确地处理错误情况。 #### 六、安全设置 - **Spring Security集成**:Spring Security是Spring官方提供的用于实现Web应用...
Spring Boot提供了对AOP的支持,我们可以通过`@Aspect`定义切面,`@Before`、`@After`、`@Around`等注解定义拦截器。 四、Druid数据源 Druid是阿里巴巴开源的一个数据库连接池组件,它提供了强大的监控和扩展功能...