Spring MVC 处理异常
SpringMVC处理异常:
1 使用@ExceptionHandler注解
只有ModelAndView可以携带错误信息
@ExceptionHandler
public ModelAndView handleException(Exception ex) {
System.out.println("出现异常:" + ex);
ModelAndView mv = new ModelAndView();
mv.setViewName("error");//转到error.jsp
mv.addObject("exception", ex);
return mv;
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isErrorPage="true"%>
<!-- 打印异常信息 -->
<%=exception.getMessage() %>
${exception.message}
2 使用@ExceptionHandler处理特定类型的异常
public class LackParamException extends ServletException{
private static final long serialVersionUID = 1L;
public LackParamException() {
super("缺少参数");
}
public LackParamException(String msg) {
super(msg);
}
}
@ExceptionHandler(LackParamException.class)
public ModelAndView handleException(Exception ex) {
System.out.println("出现异常:" + ex);
ModelAndView mv = new ModelAndView();
mv.setViewName("error");
mv.addObject("exception", ex);
return mv;
} @RequestMapping("test_exception")
public String testException(String str) throws LackParamException {
if(StringUtils.isEmpty(str)) {
throw new LackParamException();
}
return "success";
}
3 使用@ControllerAdvice织入全局异常
//异常切面:将本类内部的@ExceptionHandler方法织入到所有的@RequestMapping方法
@ControllerAdvice
public class MyExceptionHandler {
@ExceptionHandler(Exception.class)
public ModelAndView handleException(Exception ex) {
System.out.println("出现全局异常:" + ex);
ModelAndView mv = new ModelAndView();
mv.setViewName("error");
mv.addObject("exception", ex);
return mv;
}
}
<!-- 扫描异常处理 -->
<context:component-scan base-package="com.roxy.springmvc.exception">
</context:component-scan>
Spring MVC 处理异常的更多相关文章
- Spring MVC处理异常的4种方式
http://blog.csdn.net/ufo2910628/article/details/40399539 http://my.oschina.net/CandyDesire/blog/3333 ...
- Spring MVC 处理异常的3种方式
使用Spring MVC开发的博客网站时,遇到了如何处理业务层抛出的异常的问题,查阅到了spring官方博客-spring MVC中异常的处理,以下将会以登录模块为示例. 愚蠢的处理方式 处理异常遵循 ...
- Spring mvc 简单异常配置jsp页面
原文出处:http://howtodoinjava.com/spring/spring-mvc/spring-mvc-simplemappingexceptionresolver-example/ 这 ...
- Spring MVC全局异常后返回JSON异常数据
问题: 当前项目是作为手机APP后台支持,使用spring mvc + mybaits + shiro进行开发.后台服务与手机端交互是发送JSON数据.如果后台发生异常,会直接返回异常页面,显示异常内 ...
- Spring MVC 单元测试异常 Caused by: org.springframework.core.NestedIOException: ASM ClassReader failed to parse class file
Sping 3.2.8.RELEASE + sping mvc + JDK 1.8运行异常. java.lang.IllegalStateException: Failed to load Appli ...
- Spring MVC的异常统一处理方法
我们经常需要统一配置项目的异常处理,又希望统一处理异常代码,同时不侵入原有的正常代码.我们可以通过以下三种方式实现统一处理项目的自定义异常. 通过SimpleMappingExceptionResol ...
- Spring MVC报异常:org.springframework.web.util.NestedServletException: Request processing failed
在使用SpringMVC绑定基本类型(如String,Integer等)参数时,应通过@RequestParam注解指定具体的参数名称,否则,当源代码在非debug模式下编译后,运行时会引发Handl ...
- 部署项目到linux中报Spring MVC报异常:org.springframework.web.util.NestedServletException: Request processing failed
@RequestMapping(value = "/security/login", method = RequestMethod.POST) public ModelAndVie ...
- Spring MVC处理异常有3种方法
1.使用 SimpleMappingExceptionResolver 实现异常处理 <bean class="org.springframework.web.servlet.hand ...
随机推荐
- 关于C# winform怎么调用webapi来获取到json数据
C/S系统也可以和B/S系统一样实现“前后端分离”,那这样写winform就相当于纯粹的前端页面了,然后再单独部署一个webapi项目,通过api调用数据库进行数据的操作,有利于维护和数据安全性的提高 ...
- 使用Managed Extensibility Framework方便的扩展应用程序
概述 Managed Extensibility Framework(MEF)是.NET平台下的一个扩展性管理框架,它是一系列特性的集合,包括依赖注入(DI)以及Duck Typing等.MEF为开发 ...
- ML(附录2)——最小二乘法
参见 :多变量微积分笔记2——最小二乘法
- 集成学习之AdaBoost
AdaBoost 当做出重要决定时,大家可能会考虑吸取多个专家而不只是一个人的意见,机器学习也是如此,这就是集成学习的基本思想.使用集成方法时有多种形式:可以是不同算法的集成,也可以是同一算法在不同设 ...
- create-react-app 搭建的项目中,让 antd 通过侧边栏导航 Menu 的 Menu.Item 控制 Content 部分的变化
第一种:BrowserRouter把Menu和Route组给一起包起来 <Router></Router> 标签要把Menu和Route组给一起包起来 修改src/index. ...
- 新版vue-cli输入本地ip不能访问,只能用localhost才可以访问?
问:新版vue-cli输入本地ip不能访问,只能用localhost才可以访问? 答:修改config/index.js配置,将host: 'localhost',改为host: '0.0.0.0', ...
- Nginx浏览目录配置及美化
https://segmentfault.com/a/1190000012606305 在项目中有一个功能需要在浏览器页面中浏览服务器的目录.服务器使用Nginx,而Nginx提供了相应的ngx_ht ...
- yii 分页查询
控制器 <?php namespace backend\controllers; use app\models\Comment; use app\models\Commentstatus; us ...
- java 泛型与通配符(?)
泛型应用于泛型类或泛型方法的声明. 如类GenericTest public class GenericTest<T> { private T item; public void set( ...
- Spring Cloud(Dalston.SR5)--Eureka 注册中心高可用-服务提供和消费
由于 Eureka 注册中心只是在内存中保存服务注册实例,并且没有将服务注册实例进行同步,因此我们需要对服务提供和消费进行调整,需要指定服务提供和消费的注册.服务发现的具体Eureka 注册中心配置, ...