springMVC系统异常处理及自定异常处理

配置系统异常处理器

1.后台模拟一个异常

@RequestMapping(value = "/myexception.do", produces = "text/html;charset=utf-8")
    public String myexception() {
        int a=5/0;
        return "/error.jsp";
    }

2.未配置系统异常时,前台访问报错500,配置系统异常处理器后成功进入错误页面

<bean
        class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
        <property name="defaultErrorView" value="error.jsp"></property>
        <property name="exceptionAttribute" value="ex"></property>
    </bean>

3.前台页面

 错误页面${ex.message}

效果图:

配置自定义异常处理器

1.创建自定义异常类

public class MyException extends Exception{

    public MyException() {
        super();
    }

    public MyException(String message) {
        super(message);
    }

}
public class NameException extends MyException {

    public NameException() {
        super();
    }

    public NameException(String message) {
        super(message);
    }

}
public class AgeException extends MyException {

    public AgeException() {
        super();
    }

    public AgeException(String message) {
        super(message);
    }

}

2.配置处理器方法

@RequestMapping(value = "/exception.do", produces = "text/html;charset=utf-8")
    public String exception(String name, Integer age) throws NameException, AgeException {
        if (!name.equals("admin")) {
            throw new NameException("用户名错误");
        }
        if (age > 40) {
            throw new AgeException("年龄太大");
        }
        return "/result.jsp";
    }

3.配置applicationContext.xml

<!-- 注册系统异常处理器 -->
    <bean
        class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
        <property name="defaultErrorView" value="error.jsp"></property>
        <property name="exceptionAttribute" value="ex"/>
        <!-- 自定义异常处理 -->
        <property name="exceptionMappings">
            <props>
                <prop key="cn.cnsdhzzl.exception.NameException">/customError/userNameError.jsp</prop>
                <prop key="cn.cnsdhzzl.exception.AgeException">/customError/userAgeeError.jsp</prop>
            </props>
        </property>
    </bean>

配置完成,再出现异常时就对进入对应的错误页面

时间: 2024-10-27 00:37:22

springMVC系统异常处理及自定异常处理的相关文章

SpringMVC学习五(resultful风格/异常处理/注解)

resultful风格 异常处理 1.Restfule风格 Restfule风格是一种软件架构风格,而不是标准,只是提供了一种设计原则和约束条件.主要适用于客户端和服务器端交互的软件.是基于http协议实现.目的是为了提高系统的可伸缩性,降低应用之间的耦合度,方便框架分布式处理程序.基于这个风格的软件可更加的简单.更有层次,更易于实现缓存的机制. 在resultful风格中,用户请求的url使用同一个URL而用请求方式:get/post/delete/put等方式对请求的处理方法进行区分.这样可

从函数式编程异常处理到薛定谔类型 -- 函数式编程本质(I)

首先说明一下 这里并不打算展开讲函数式异常处理 因为这篇文章的主题是介绍薛定谔类型. 关于前者我推荐medium上的一篇文章"Functional Error Handling". 本文很大程度上是受到这篇文章的启发 一句话来说 很多语言都有自己函数式处理异常的方式 也许你已经用过了 只是没有认识到这一点而已: Typescript的Union类型 Swif的Option类型 Haskell的Maybe类型 如果要给这种类型下个定义 那就是薛定谔类型(非公式说法) 怎么用薛定谔类型处理

springmvc学习笔记--REST API的异常处理

前言: 最近使用springmvc写了不少rest api, 觉得真是一个好框架. 之前描述的几篇关于rest api的文章, 其实还是不够完善. 比如当遇到参数缺失, 类型不匹配的情况时, 直接抛出异常, 返回的内容是500+的错误页面, 而不是json内容, 这让移动端的调用方很难处理. 本文主要讲述对于rest api, springmvc对异常的解决处理方案. 系列整理: springmvc学习笔记系列的文章目录: • idea创建springmvc项目 • 面向移动端的REST API

SpringMVC 文件上传&amp;拦截器&amp;异常处理

文件上传 Spring MVC 为文件上传提供了直接的支持,这种支持是通过即插即用的 MultipartResolver 实现的.Spring 用 Jakarta Commons FileUpload 技术实现了一个MultipartResolver 实现类:CommonsMultipartResovlerSpring MVC 上下文中默认没有装配 MultipartResovler,因此默认情况下不能处理文件的上传工作,如果想使用 Spring 的文件上传功能,需现在上下文中配置 Multip

重构机房收费系统你要用的——异常处理和抛出异常(try catch finally)——(vb.net)

你能保证你的程序不会出问题吗? 不能 当你的程序执行到某个地方发生了你不想要的结果.你是否想让它一错再错? 不想 你是否想让你的程序占着茅坑不拉屎? 不想 你是否想知道你的程序出错的原因? 想 看了了这4个问题之后.假设你的回答和我的一致,那么请看下文 trycatch finally的使用方法: try '你想要写的程序 catch '捕获你想写的程序里面全部发生的异常 finally '不管发生还是不发生异常,你都想运行的代码 演示样例: Dim Update_Info As String 

捷易拍与springMVC系统结合

1. 捷易拍高拍仪在jsp页面的调用 使用ActiveX插件的方式处理解决此问题,捷易拍公司提供了支持IE8以上的32位浏览器的插件,安装插件后,我们可以使用Object标签,使用高拍仪 注意: 1. 浏览器需要设置安全级别,启用运行ActiveX插件使用 2. 部署到服务器后,需要将服务器网站加入安全站点中 2. js处理磁盘文件的方法 由于使用到Scripting.FileSystemObject,需要设置以下两项,以便ActiveXObject的使用 3. springMVC框架下,本地文

springMVC之异常处理

1. 自定义一个异常类: UserException.java public class UserException extends RuntimeException { private static final long serialVersionUID = 1L; public UserException() { super(); } public UserException(String message, Throwable cause) { super(message, cause);

SpringMVC 统一异常处理入口

在一个冰冷幽暗的夜晚上,我正思考的十分重要的人生问题,这周末该去那里happy好呢?是宅在家里好呢,或者宅在家里好呢,还是宅在家里好呢?这时,万年隐身的QQ竟然浮起浅色聊天框,我去!不得了,居然是女神主动联系我,女神一定是因为我俊朗的五官,171的模特身材而深深地迷恋上我了,呵呵呵呵呵呵. 原文地址: http://www.hpboys.com/524.html "诶,阳X,你在干嘛呢?""没啊,在思考人生." 难道这是要约我的节奏吗?在妹子前必须保持冷静. &qu

SpringMVC 全局异常处理

在 JavaEE 项目的开发中,不管是对底层的数据库操作过程,还是业务层的处理过程,还是控制层的处理过程,都不可避免会遇到各种可预知的.不可预知的异常需要处理.每个过程都单独处理异常,系统的代码耦合度高,工作量大且不好统一,维护的工作量也很大.SpringMvc 对于异常处理这块提供了支持,通过 SpringMvc 提供的全局异常处理机制,能够将所有类型的异常处从各处理过程解耦出来,这样既保证了相关处理过程的功能较单一,也实现了异常信息的统一处理和维护. 全局异常实现方式 Spring MVC