千家信息网

SpringMvc异常处理器怎么实现

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要讲解了"SpringMvc异常处理器怎么实现",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"SpringMvc异常处理器怎么实现"吧!Spr
千家信息网最后更新 2025年01月20日SpringMvc异常处理器怎么实现

这篇文章主要讲解了"SpringMvc异常处理器怎么实现",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"SpringMvc异常处理器怎么实现"吧!

SpringMvc 异常处理器

简介

  SpringMvc 在处理请求过程中出现异常信息由异常处理器进行处理,自定义异常处理器可以实现一个系统的异常处理逻辑。

异常理解

  异常包含编译时异常和运行时异常,其中编译时异常也叫预期异常。运行时异常只有在项目运行的情况下才会发现,编译的时候不需要关心。

  运行时异常,比如:空指针异常、数组越界异常,对于这样的异常,只能通过程序员丰富的经验来解决和测试人员不断的严格测试来解决。

  编译时异常,比如:数据库异常、文件读取异常、自定义异常等。对于这样的异常,必须使用 try catch代码块或者throws关键字来处理异常。

异常处理思路

  系统中异常包括两类:预期异常(编译时异常)和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试等手段减少运行时异常的发生。

  系统的dao、service、controller出现都通过throws Exception向上抛出,最后由SpringMvc前端控制器交给异常处理器进行异常处理,如下图:

全局范围只有一个异常处理器。

自定义异常类

第一步:CustomException.java

package com.cyb.ssm.exception;/** * 自定义编译时异常 *  * @author apple * */public class CustomException extends Exception {    private String msg;    public String getMsg() {        return msg;    }    public void setMsg(String msg) {        this.msg = msg;    }    public CustomException(String msg) {        super();        this.msg = msg;    }}

第二步:CustomExceptionResolver.java(重点)

package com.cyb.ssm.resolver;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.HandlerExceptionResolver;import org.springframework.web.servlet.ModelAndView;import com.cyb.ssm.exception.CustomException;public class CustomExceptionResolver implements HandlerExceptionResolver {    @Override    public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler,            Exception ex) {        String message="";        // 异常处理逻辑        if (ex instanceof CustomException) {            message = ((CustomException) ex).getMsg();        } else {            message="未知错误";        }        ModelAndView mv=new ModelAndView();        mv.setViewName("error");        mv.addObject("message", message);        return mv;    }}

第三步:在springmvc.xml中加入bean

                                                                                                                                    

第四步:jsp错误页面

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>错误页面    ${message }

第五步:测试类

@RequestMapping("queryItem")    public ModelAndView queryItem() throws CustomException {        //查询数据库,用静态数据模拟        List itemList = Service.queryItemList();        ModelAndView mvAndView = new ModelAndView();        mvAndView.addObject("itemList", itemList);        //设置视图(逻辑路径)        mvAndView.setViewName("item/item-list");        if (true) {            throw new CustomException("我是自定义异常类");        }        return mvAndView;    }

感谢各位的阅读,以上就是"SpringMvc异常处理器怎么实现"的内容了,经过本文的学习后,相信大家对SpringMvc异常处理器怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

处理 处理器 编译 运行 测试 数据 系统 逻辑 错误 学习 代码 信息 内容 只有 思路 情况 数据库 页面 不断 人员 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发企业行业人员配置比例 我的世界服务器里的东西被破坏 中华石刻数据库 图书馆 软件开发计算机方面问题 如何处理原始考勤数据库 幸福工厂服务器管理器 石林品牌软件开发咨询报价 软件开发需要安装的软件 亿航网络技术有限公司 湖南安防时钟监控网管服务器 观看网络安全视频简讯 网络安全概况华为 青岛网络安全产业基地项目 想学设计需要下什么软件开发 手机怎样能远程连接服务器 网络安全活动1月 如何下载梦幻新诛仙官方服务器 行业观察传统数据库 pvp材质怎么装到服务器 媒体针对网络安全的具体措施 天津百泰网络技术 牟平区定制软件开发哪家好 深圳市云帆网络技术 五年级网络安全手抄报内容 济源网络技术价格多少 网络安全防范知识教案 报名软件开发证书 青岛网络安全产业基地项目 杭州做app的软件开发费用 网络安全战争
0