springmvc全局异常处理
2018-02-07 12:55
447 查看
使用springMVC框架时,因为前台的请求有些是ajax,有些是请求一个页面.而如果这些请求执行过程中有异常没有catch,会向前台页面抛出.url响应为500,可能也会将异常信息抛到前台,这既不安全也不规范.
import java.io.IOException; import java.io.PrintWriter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Component; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.handler.SimpleMappingExceptionResolver; @Component public class GlobalExceptionResolver extends SimpleMappingExceptionResolver{ @Override protected ModelAndView doResolveException(HttpServletRequest request,HttpServletResponse response, Object handler, Exception ex){ //String requestType = request.getHeader("X-Requested-With"); response.setCharacterEncoding("UTF-8"); if (!(request.getHeader("accept").contains("application/json") || (request.getHeader("X-Requested-With")!= null && request.getHeader("X-Requested-With").contains("XMLHttpRequest") ) )) { // 如果不是异步请求 // Apply HTTP status code for error views, if specified. // Only apply it if we're processing a top-level request. System.out.println("JSP格式返回"); return getModelAndView("error/500", ex, request);//异常返回页面 } else {// JSON格式返回 try { PrintWriter writer = response.getWriter(); writer.write(ex.getMessage()); writer.flush(); } catch (IOException e) { e.printStackTrace(); } System.out.println("JSON格式返回" ); return null; } } }
相关文章推荐
- springMVC --全局异常处理(两种方式)
- springmvc全局异常处理
- 框架 day89 涛涛商城项目(补)-activeMQ应用,及springMVC全局异常处理
- springBoot注解大全JPA注解springMVC相关注解全局异常处理
- springmvc全局异常处理
- SpringMVC配置全局日期转换器,处理日期转换异常
- SpringMVC配置全局日期转换器,处理日期转换异常
- springMVC实现全局异常处理
- SpringMVC全局异常统一处理
- springmvc全局异常处理
- springMVC --全局异常处理(两种方式)
- springmvc全局异常处理
- SpringMVC对异常进行全局处理,并区分对待ajax和普通请求
- 【SpringMVC整合MyBatis】springmvc异常处理-全局异常处理器开发
- SpringMVC配置全局日期转换器,处理日期转换异常
- SpringMVC 全局异常处理代码
- SpringMVC全局异常处理
- SpringMvc教程(十一)--如何实现全局的异常处理
- SpringMVC全局异常处理实例
- SpringMVC配置全局日期转换器,处理日期转换异常