10 全局异常处理

来源:互联网 发布:java程序员认证培训 编辑:程序博客网 时间:2024/04/30 20:04

原文地址:http://wiselyman.iteye.com/blog/2217746

10.1 全局异常处理

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

10.2 演示

  • 演示控制器
package com.wisely.web;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;@Controllerpublic 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;@ControllerAdvicepublic 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

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

0 0
原创粉丝点击