SSM异常处理

1.配置错误页面 404.html

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>主页</title> </head> <body> <html> <body> <h1><b th:text="${errorMsg}"></b></h1> </body> </html>

2.自定义异常处理器

package com.qcby.util; import com.qcby.entity.SysException; import org.springframework.web.servlet.HandlerExceptionResolver; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class SysExceptionResolver implements HandlerExceptionResolver { /** * 程序出现了异常,调用异常处理器中的方法 * @param httpServletRequest * @param httpServletResponse * @param o * @param e * @return */ @Override public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) { e.printStackTrace(); //在命令行打印异常信息在程序中出错的位置及原因。 // 做强转 SysException exception = null; // 判断 if(e instanceof SysException){ exception = (SysException)e; }else{ exception = new SysException("系统正在维护,请联系管理员"); } ModelAndView mv = new ModelAndView(); mv.addObject("errorMsg",exception.getMessage()); // 设置跳转的页面 mv.setViewName("404"); return mv; } }

3.自定义异常类

/** * 异常处理类 */ public class SysException extends Exception{ // 提示消息 private String message; public SysException(String message){ this.message = message; } @Override public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } @Override public String toString() { return "SysException{" + "message='" + message + '\'' + '}'; } }

4.配置异常处理器

<!--配置异常处理器--> <bean id="sysExceptionResolver" class="com.qcby.util.SysExceptionResolver" />

5.Controller测试

/** * 使用异常处理器方式 * @return */ @RequestMapping("/findAll.do") public String findAll(){ System.out.println("执行了..."); // 模拟异常 int a = 10/0; return "suc"; }

相关推荐
杨云龙UP2 分钟前
ODA-Oracle实践记录:通过Navicat导出导入表CSV文件并清理重复数据,处理OA待办延迟刷新问题_20260416
linux·运维·服务器·数据库·sql·mysql·oracle
QC777LX19 分钟前
传统电商专员转型AI电商运营师:选品到投放自动化流程
运维·人工智能·自动化
6Hzlia27 分钟前
【Hot 100 刷题计划】 LeetCode 72. 编辑距离 | C++ 经典 DP 增删改状态转移
c++·算法·leetcode
穿条秋裤到处跑27 分钟前
每日一道leetcode(2026.04.16):距离最小相等元素查询
算法·leetcode·职场和发展
电商API_1800790524736 分钟前
电商数据采集实战:批量自动化获取淘宝、京东商品评论数据
大数据·运维·人工智能·数据挖掘·数据分析·自动化
START_GAME41 分钟前
SQL Server 还原 .bak 文件(SSMS 图形界面法)
运维·服务器·数据库
June56141 分钟前
SSH 免密 + 主机指纹登录完整安装步骤(macOS)
运维·macos·ssh
TG_yunshuguoji1 小时前
阿里云代理商:2026年云端与本地双轨部署OpenClaw 方案
服务器·阿里云·云计算·openclaw
楼田莉子1 小时前
Linux网络:IP协议
linux·服务器·网络·c++·学习·tcp/ip