如何处理Java SpringMVC异常机制详解
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,今天就跟大家聊聊有关如何处理Java SpringMVC异常机制详解,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。目录异常处理的思路测试环境准
千家信息网最后更新 2025年01月21日如何处理Java SpringMVC异常机制详解
今天就跟大家聊聊有关如何处理Java SpringMVC异常机制详解,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
目录
异常处理的思路
测试环境准备
异常处理两种方式
方式一:简单异常处理器
方式二:自定义异常处理器
总结
异常处理的思路
测试环境准备
首先写一个DemoController控制层的类作为测试访问的控制器
package com.itheima.controller;import com.itheima.exception.MyException;import com.itheima.service.DemoService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import java.io.FileNotFoundException;@Controllerpublic class DemoController { @Autowired private DemoService demoService; @RequestMapping(value="/show") public String show() throws FileNotFoundException, MyException { System.out.println("show running"); demoService.show1();// demoService.show2();// demoService.show3();// demoService.show4();// demoService.show5(); return "index"; }}
然后在service中写上接口DemoService和实现类DemoServiceImpl
package com.itheima.service;import com.itheima.exception.MyException;import java.io.FileNotFoundException;public interface DemoService { public void show1(); public void show2(); public void show3() throws FileNotFoundException; public void show4(); public void show5() throws MyException;}
package com.itheima.service.impl;import com.itheima.exception.MyException;import com.itheima.service.DemoService;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.InputStream;public class DemoServiceImpl implements DemoService { public void show1() { System.out.println("类型转换异常"); Object str = "zhangsan"; Integer num = (Integer) str; } public void show2() { System.out.println("抛出除零异常"); int i = 1 / 0; } public void show3() throws FileNotFoundException { System.out.println("文件找不到异常"); InputStream in = new FileInputStream("C:/xxx/xxx/xxx.txt"); } public void show4() { System.out.println("空指针异常"); String str = null; str.length(); } public void show5() throws MyException { System.out.println("自定义异常"); throw new MyException(); }}
其中的MyException是自定义异常,被声明在itheima的另一个包下,此时还未任何实现:
访问一下/show,因为先调用的show1方法,所以会报类型转换异常:
环境准备完毕。
异常处理两种方式
方式一:简单异常处理器
方式一很简单,去做对应的配置文件配置就可以了:
然后再进行访问,可以看到跳转到了error视图:
方式二:自定义异常处理器
步骤;
1、创建异常处理器类实现HandlerExceptionResolver
2、配置异常处理器
3、编写异常页面
4、测试异常跳转
演示;
第一步:创建异常处理器类实现HandlerExceptionResolver
package com.itheima.resolver;import com.itheima.exception.MyException;import org.springframework.web.servlet.HandlerExceptionResolver;import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class MyExceptionResolver implements HandlerExceptionResolver { /*这是HandlerExceptionResolver中必须要实现的方法 参数Exception:异常对象 返回值ModelAndView:跳转到错误视图信息 */ public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) { ModelAndView md = new ModelAndView(); /* 这里只是大致做一个代码逻辑的演示 实际开发当中并不会这样写,没什么意义 下面的演示只是可以告诉我们可以在这个方法里面进行异常信息的判断 */ if(e instanceof MyException){ md.addObject("info","自定义异常"); }else if(e instanceof ClassCastException){ md.addObject("info","类型转换异常"); } md.setViewName("error"); return md; }}
第二步:在SpringMVC的配置文件当中配置异常处理器
测试访问就行了。
总结
看完上述内容,你们对如何处理Java SpringMVC异常机制详解有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
处理
处理器
方式
测试
配置
内容
文件
方法
环境
类型
准备
演示
机制
信息
只是
思路
视图
控制
没什么
代码
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全知识200
fto服务器的配置与管理
亚马逊数据库怎么运行
华为网络技术ospf
嵌入式 流媒体 服务器
修改mysql数据库路径
智能手环软件开发
通用汽车软件开发流程
课堂软件开发
江苏特色少儿编程软件开发
进口串口通讯服务器厂家
乐橙接入海康服务器
数据库维护工程师证书
我的世界炸服务器的红石机关
焦作大学软件开发哪个校区
河南湖谷网络技术有限公司
服务器上的文件能删除吗
周村食品软件开发服务
肇庆免费的冷库软件开发
国家网络技术水平考试二级
猫和老鼠服务器崩溃无法登录游戏
各公司服务器对比
梁溪区现代软件开发资费
网络安全律动
网络安全统计局
江苏特色少儿编程软件开发
网络安全地址是什么意思
网络安全专业分流是什么
技术数据库的表数量是否有限
泸州应用软件开发培训