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"; }

相关推荐
梦想很大很大12 小时前
拒绝“盲猜式”调优:在 Go Gin 项目中落地 OpenTelemetry 链路追踪
运维·后端·go
Sinclair13 小时前
内网服务器离线安装 Nginx+PHP+MySQL 的方法
运维
叶落阁主13 小时前
Tailscale 完全指南:从入门到私有 DERP 部署
运维·安全·远程工作
CoovallyAIHub15 小时前
Moonshine:比 Whisper 快 100 倍的端侧语音识别神器,Star 6.6K!
深度学习·算法·计算机视觉
CoovallyAIHub16 小时前
速度暴涨10倍、成本暴降6倍!Mercury 2用扩散取代自回归,重新定义LLM推理速度
深度学习·算法·计算机视觉
CoovallyAIHub16 小时前
实时视觉AI智能体框架来了!Vision Agents 狂揽7K Star,延迟低至30ms,YOLO+Gemini实时联动!
算法·架构·github
CoovallyAIHub16 小时前
开源:YOLO最强对手?D-FINE目标检测与实例分割框架深度解析
人工智能·算法·github
CoovallyAIHub17 小时前
OpenClaw:从“19万星标”到“行业封杀”,这只“赛博龙虾”究竟触动了谁的神经?
算法·架构·github
刀法如飞17 小时前
程序员必须知道的核心算法思想
算法·编程开发·算法思想