控制器异常处理:
@ResponseStatus(value=HttpStatus.NOT_FOUND)
public class StaffNotFoundException extends Exception {
}
自定义StaffNotFoundException异常类:员工信息没有找到异常。
@ResponseStatus(value=HttpStatus.NOT_FOUND)作用是将该异常映射为http 404异常,就是浏览器接受到的是404错误。
@Controller
@RequestMapping("/")
public class PCInfoController {
@Autowired
PCInfoRestClient PCInfoRestClient;
/**
* 个人信息页面
* @param
* @return
* @throws StaffNotFoundException
*/
@RequestMapping(value="info",method=RequestMethod.GET)
public String staffInfo(Model model) throws StaffNotFoundException {
HashMap staff = PCInfoRestClient.getStaff();
if(staff == null)
throw new StaffNotFoundException();
model.addAttribute("staff", staff);
return "info";
}
@RequestMapping(value="staff/notfound",method=RequestMethod.GET)
public String error(Model model)
{
return "error";
}
}
控制器中如果获得staff是null 则抛出StaffNotFoundException异常。
@ControllerAdvice
public class CommonExceptionHandler {
@ExceptionHandler(StaffNotFoundException.class)
public String handleStaffNotFound(Exception exception, WebRequest request)
{
return "redirect:/staff/notfound";
}
}
@controllerAdvice注解的CommonExceptionHandler 类中,handleStaffNotFound()方法上加了@ExceptionHandler(StaffNotFoundException.class)注解,表示处理当控制器抛出StaffNotFoundException异常时,将会委托该方法来处理。
@controllerAdvice最为实用的一个场景就是将所有@ExceptionHandler方法收集到一个类中,这样所有的异常都能在一个地方进行一致处理。
@ControllerAdvice默认所有控制的抛出的异常都会在这个类进行处理
@ControllerAdvice(annotations = {PCInfoController .class}) 配置你需要拦截的控制器,
@ControllerAdvice(basePackages = "com.demo") 配置你需要路径下的控制器
分享到:
相关推荐
主要介绍了SpringMVC @ControllerAdvice使用场景,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
SpringMVC使用@ResponseBody.rar
springmvc关于@requestMapping和@requestParam的使用,详细代码,独立可用无需修改。
springmvc之@RequestMapping的简单demo
本篇文章主要介绍了SpringMVC使用@Valid注解进行数据验证的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
本篇文章主要介绍了详解SpringMVC注解@initbinder解决类型转换问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
企业级开发-SpringMVC使用拦截器实现用户登录权限验证实验报告
springmvc返回json的全局异常统一处理demo,有问题可以留言。
SpringMVC入门很简单之异常处理,具体参考博文:http://www.cnblogs.com/liukemng/tag/SpringMVC/
主要介绍了使用SpringMVC的@Validated注解验证的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
NULL 博文链接:https://bijian1013.iteye.com/blog/2310240
Maven+SpringMVC实现统一异常处理
SpringMVC 使用 RESTful 架构实现 CRUD 操作
SpringMVC @ModelAttribute应用SpringMVC @ModelAttribute应用
使用SpringMVC结合WebSocket实现服务器与客户端双向沟通,程序很简单,只是为了演示配置(hello world),IntelliJ Maven项目,部署好以后测试地址 http://localhost:8080/test
springmvc异常处理的博文如下: http://blog.csdn.net/dlf123321/article/details/50756003
于是我花了几天时间搭建出来的hibernate+springmvc的框架,这个框架去除hibernate配置, 将配置全部整合到spring中,开发中使用注解开发即可,很方便,以后我还会持续更新的。 这是一个maven项目,放在eclipse中,改...
主要介绍了springmvc的@Validated注解使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
在使用springMVC的@ResponBody时必须的jar包
本文档主要介绍了SpringMVC的ModelAndView机制,使用SpringMVC实现文件上传,下载以及全局异常处理机制