微前端架构如何改变企业的开发模式与效率提升
590
2022-09-11
springboot 全局异常捕获
package com.example.demo.Config;
import org.springframework.ui.Model;import org.springframework.web.bind.WebDataBinder;import org.springframework.web.bind.annotation.ControllerAdvice;import org.springframework.web.bind.annotation.ExceptionHandler;import org.springframework.web.bind.annotation.InitBinder;import org.springframework.web.bind.annotation.ModelAttribute;import org.springframework.web.servlet.ModelAndView;
import javax.servlet.javax.servlet.with Intellij ideaUser:MingtianDate:2018/8/20Time:15:49全局异常信息*/@ControllerAdvice //@ControllerAdvice 作用:增强型控制器,对于控制器的全局配置放在同一个位置public class ErrorException {/**
应用到所有@RequestMapping注解方法,在其执行之前初始化数据绑定器@param binder*/@InitBinderpublic void initBinder(WebDataBinder binder) {}/**把值绑定到Model中,使全局@RequestMapping可以获取到该值@param model*/@ModelAttributepublic void addAttributes(Model model,HttpServletRequest request) {model.addAttribute(“user”, request.getRemoteUser());//登陆用户}
//@ExceptionHandler(异常类)这个注解则表示Controller中任何一个方法发生异常,则会被注解了@ExceptionHandler的方法拦截到。// 对应的异常类执行对应的方法,如果都没有匹配到异常类,则采用近亲匹配的方式。@ExceptionHandler(value = Exception.class)public Object errorHandler(HttpServletRequest request, HttpServletResponse response, Exception e){ e.printStackTrace();//打印错误信息 ModelAndView mv=new ModelAndView(); mv.addObject("url",request.getRequestURL());//存放请求地址 mv.addObject("exception",e);//存放错误信息 mv.setViewName("error");//定义的错误页面 return mv;}//判断是否是ajax请求public static boolean isAjax(HttpServletRequest request){ return (request.getHeader("X-Requested-With")!=null &&"XMLRequest".equals(request.getHeader("X-Requested-With").toString()));}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~