11. Spring MVC4.1-全局异常处理

翻译 2015年11月19日 22:08:48

11.1 全局异常处理

  • 使用@ControllerAdvice注解来实现全局异常处理;
  • 使用@ControllerAdvice的属性缩小处理范围

11.2 演示

  • 演示控制器
  • package com.wisely.web;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @Controller
    public class AdviceController {
        @RequestMapping("/advice")
        public String getSomething(){
            throw new IllegalArgumentException("不好意思,参数错了");
        }
    
    }
    
    • @ControllerAdvice配置
    package com.wisely.web;
    
    import org.springframework.web.bind.annotation.ControllerAdvice;
    import org.springframework.web.bind.annotation.ExceptionHandler;
    import org.springframework.web.context.request.WebRequest;
    import org.springframework.web.servlet.ModelAndView;
    
    @ControllerAdvice
    public class ExceptionHandlerAdvice {
    
        @ExceptionHandler(value=Exception.class)
        public ModelAndView exception(Exception exception,WebRequest request){
            ModelAndView modelAndView = new ModelAndView("error");//error页面
            modelAndView.addObject("errorMessage",exception.getMessage());
            return modelAndView;
    
        }
    }
    
    • 错误展示页面webapp/WEB-INF/views/error.jsp
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    ${errorMessage}
    </body>
    </html>
    • 访问http://localhost:8080/testSpringMVC/advice

    • 页面显示不好意思,参数错了

springmvc全局异常处理

对于springmvc全局异常处理有三种方式, 1.使用SimpleMappingExceptionResolver实现异常处理 2.实现HandlerExceptionResolver 接口自...
  • Petershusheng
  • Petershusheng
  • 2016年09月01日 11:13
  • 1888

springMVC --全局异常处理(两种方式)

首先看springMVC的配置文件: errors/error...
  • u014034854
  • u014034854
  • 2015年08月01日 00:44
  • 11588

springmvc三种全局异常处理

其实自己一直有想把自己的项目弄的越简洁越好,不用把项目中每个方法看起来比较臃肿,所以自己没事就去论坛,博客看别人怎么整合 今天特意写一些自己上个项目中用到的异常全局拦截处理 springmvc有三...
  • u014209975
  • u014209975
  • 2016年08月25日 10:45
  • 3047

Spring MVC全局异常处理与拦截器校检

在使用Spring MVC进行开发时,总是要对系统异常和用户的异常行为进行处理,以提供给用户友好的提示,也可以提高系统的安全性。拦截系统响应错误首先是拦截系统响应错误,这个可以在web.xml中配置,...
  • huangxingchen123
  • huangxingchen123
  • 2016年10月24日 16:39
  • 2941

Spring MVC全局异常处理

今天翻看项目发现异常类中有一个CommonExceptionHandler,却在配置文件中找不到任何有配置的地方,于是搜了一把资料,整理一下。     Spring3.0中有两种异常处理机制,一种是实...
  • qq915697213
  • qq915697213
  • 2015年11月04日 14:47
  • 343

Spring MVC 全局异常处理(1) --HandlerExceptionResolver

上一节小博老师给大家介绍了SpringMVC对异常处理的方法之一,使用默认的SimpleMappingExceptionResolver实现类。我们知道SimpleMappingExceptionRe...
  • bwf_erg
  • bwf_erg
  • 2016年12月21日 12:44
  • 143

Spring MVC全局的异常处理方式

使用SimpleMappingExceptionResolver实现异常处理  applicationContext.xml中配置 ...
  • lr131425
  • lr131425
  • 2017年05月10日 16:21
  • 175

Spring MVC 全局异常处理(1) --SimpleMappingExceptionResolver

我们经常会遇到一些设计的不好的应用,当出现一些未知异常时,就显示一个打印着错误堆栈的网页。看到这些错误堆栈信息往往用户都会一头雾水,我们会抱怨这个设计实在太不友好了。而且错误堆栈信息由于暴露了后台方法...
  • bwf_erg
  • bwf_erg
  • 2017年03月21日 22:31
  • 85

Spring Boot系列十 Spring MVC全局异常处理总结

1. 概述SpringMVC 提供的异常处理主要有两种方式: 一种是直接实现自己的HandlerExceptionResolver 一种是使用注解 通过注解的方式实现处理异常主要有以下两种方式: 1 ...
  • hry2015
  • hry2015
  • 2017年12月20日 11:42
  • 157

11Spring MVC异常处理

Spring MVC异常处理 Web应用中对于异常的处理方式与其他形式的应用并没有太大的不同――通过try/catch 语句针对不同的异常进行相应处理。 但是在具体实现中,由于异常层次、种类繁杂...
  • bin71722
  • bin71722
  • 2016年07月12日 15:38
  • 288
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:11. Spring MVC4.1-全局异常处理
举报原因:
原因补充:

(最多只允许输入30个字)