MVC异常处理
处理局部异常
控制器:
@Controller
@RequestMapping("/ex")
public class ExceptionController { @ExceptionHandler
public ModelAndView exceptionHandler(Exception ex){
ModelAndView mv=new ModelAndView();
//保存异常变量
mv.addObject("ex",ex);
//添加错误页面
mv.setViewName("error");
System.out.println("出现了异常!");
return mv;
}
@RequestMapping("/hello") //设置处理器方法与用户请求的url之间的映射关系@WebServlet
public String toIndex() throws Exception {
if (==){
throw new Exception("我是异常哈哈哈哈");
}
return "index";
}
页面
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<%--<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>--%>
<html>
<head>
<title>Title</title>
</head>
<body>
<%--<c:forEach items="${error}" var="item">
<span>${item.defaultMessage}</span>
</c:forEach>--%>
${error.defaultMessage} </body>
</html>
结果
处理全局异常
ExceptionHandler类:
/*全局异常处理*/
@ControllerAdvice
public class ExceptionHandler { @org.springframework.web.bind.annotation.ExceptionHandler
public ModelAndView except(Exception e){
String message = e.getMessage(); //获取异常信息
ModelAndView mv=new ModelAndView("");
mv.addObject("message",message);
return mv;
}
}
控制器:
@RequestMapping("/hello") //设置处理器方法与用户请求的url之间的映射关系@WebServlet
public String toIndex() throws Exception {
if (==){
throw new Exception("我是异常哈哈哈哈");
}
return "index";
}
自定义异常
spring-mvc文件配置:
<!--异常处理-->
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="defaultErrorView" value="error"></property>
<property name="exceptionAttribute" value="ex"></property>
</bean>
控制器:
@RequestMapping("/getex")
@ResponseBody
public String getex(){
int num=/;
return "index";
}
结果:
自定义异常类
spring-mvc文件配置:
<!--异常处理-->
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="defaultErrorView" value="error"></property>
<property name="exceptionAttribute" value="ex"></property>
<property name="exceptionMappings">
<props>
<prop key="com.cmy.exception.UserName">UserName</prop>
<prop key="com.cmy.exception.Password">Password</prop>
</props>
</property>
</bean>
控制器:
@RequestMapping("/getex01")
public String getex01(String userName,String password) throws Exception {
if (!userName.equals("admin")){
throw new Exception("用戶民不正確!!!");
}
if (!password.equals("admin")){
throw new Exception("密碼不正確!!!");
}
return "index";
}
UserName.class异常类:
package com.cmy.exception; public class UserName extends Exception { public UserName() {
} public UserName(String message) {
super(message);
}
}
Password.class异常类:
package com.cmy.exception; //自定义异常类
public class Password extends Exception { public Password() {
} public Password(String message) {
super(message);
}
}
页面:
结果:
自定义异常类实现(HandelExceptionResolver接口)
spring-mvc.xml文件配置:
<bean class="com.cmy.exception.HandelException">
HandelException.class异常类:
public class HandelException implements HandlerExceptionResolver { @Override
public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {
ModelAndView mv=new ModelAndView();
mv.addObject("ex",e);
mv.setViewName("error");
if (e instanceof UserName){
mv.setViewName("UserName");
}
if (e instanceof Password){
mv.setViewName("Password");
} return mv;
}
}
控制器:
@RequestMapping("/getex01")
public String getex01(String userName,String password) throws Exception {
if (!userName.equals("admin")){
throw new Exception("用戶民不正確!!!");
}
if (!password.equals("admin")){
throw new Exception("密碼不正確!!!");
}
return "index";
}
MVC异常处理的更多相关文章
- ASP.NET MVC异常处理
ASP.NET MVC异常处理方案 如何保留异常前填写表单的数据 ASP.NET MVC中的统一化自定义异常处理 MVC过滤器详解 MVC过滤器使用案例:统一处理异常顺道精简代码 ASP.NET MV ...
- 统一的mvc异常处理
mvc异常处理 using System; using System.Configuration; using System.Web.Mvc; using Infrastructure.Excepti ...
- NET MVC异常处理模块
一个简单的ASP.NET MVC异常处理模块 一.前言 异常处理是每个系统必不可少的一个重要部分,它可以让我们的程序在发生错误时友好地提示.记录错误信息,更重要的是不破坏正常的数据和影响系统运行. ...
- Spring MVC异常处理SimpleMappingExceptionResolver
Spring MVC异常处理SimpleMappingExceptionResolver[转] (2012-12-07 13:45:33) 转载▼ 标签: 杂谈 分类: 技术分享 Spring3.0中 ...
- Spring MVC异常处理代码完整实例
Spring MVC异常处理流程: 提供构造方法传值: 配置异常处理器的bean
- 一个简单的ASP.NET MVC异常处理模块
一.前言 异常处理是每个系统必不可少的一个重要部分,它可以让我们的程序在发生错误时友好地提示.记录错误信息,更重要的是不破坏正常的数据和影响系统运行.异常处理应该是一个横切点,所谓横切点就是各个部分都 ...
- Spring MVC异常处理详解
Spring MVC中异常处理的类体系结构 下图中,我画出了Spring MVC中,跟异常处理相关的主要类和接口. 在Spring MVC中,所有用于处理在请求映射和请求处理过程中抛出的异常的类,都要 ...
- ASP.NET mvc异常处理的方法
第一种:全局异常处理 1.首先常见保存异常的类(就是将异常信息写入到文件中去) public class LogManager { private string logFilePath = strin ...
- MVC 异常处理机制
方法一 :web.config配置文件的 system.web 接点下添加,若为On则不会将异常信息反馈到用户,而是友好的跳转到error.htm <customErrors mode=&quo ...
- Spring MVC异常处理
Spring Mvc 中异常处理,一般有两种解决办法: 一.利用org.springframework.web.servlet.handler.SimpleMappingExceptionResolv ...
随机推荐
- activemq 的延迟队列和幂等性检查
一. 延迟消息队列 1. 在提交支付之后,可以发送一个延迟检查的队列,来主动查询用户在支付宝上的支付状态 在mq的配置/config/activeMq.xml的broker实例上配置 schedule ...
- Potato Sacks
Potato sacks come in different weight capacities (specified in pounds). Potatoes come in different w ...
- python学习基础—day01
一. python是什么? 优势:简单, 可以跨平台 劣势:执行效率没有C语言那么高 python是解释型语言,逐行编译解释,在不同的系统windows与Linux,需要不同的解释器来编译. 而编译型 ...
- BeautifulSoup随笔
BeautifulSoup是一个类 b = BeautifulSoup(html) b对象有与html结构相关的各种方法和和属性. a = b.findAll('a')获得标签的对象 a对象又有关于属 ...
- windows 10安装和配置caffe教程 | Install and Configure Caffe on windows 10
本文首发于个人博客https://kezunlin.me/post/1739694c/,欢迎阅读! Install and Configure Caffe on windows 10 Part 1: ...
- 生产者-消费者模型在Hudi中的应用
介绍 生产者-消费者模型用于解耦生产者与消费者,平衡两者之间的能力不平衡,该模型广泛应用于各个系统中,Hudi也使用了该模型控制对记录的处理,即记录会被生产者生产至队列中,然后由消费者从队列中消费,更 ...
- Spring Cloud Alibaba(四)实现Dubbo服务消费
本项目演示如何使用 Spring Cloud Alibaba 完成 Dubbo 的RPC调用. Spring Cloud与Dubbo Spring Cloud是一套完整的微服务架构方案 Dubbo是国 ...
- 程序员用于机器学习数据科学的3个顶级 Python 库
NumPy NumPy(数值 Python 的简称)是其中一个顶级数据科学库,它拥有许多有用的资源,从而帮助数据科学家把 Python 变成一个强大的科学分析和建模工具.NumPy 是在 BSD 许可 ...
- tensorflow学习笔记——模型持久化的原理,将CKPT转为pb文件,使用pb模型预测
由题目就可以看出,本节内容分为三部分,第一部分就是如何将训练好的模型持久化,并学习模型持久化的原理,第二部分就是如何将CKPT转化为pb文件,第三部分就是如何使用pb模型进行预测. 一,模型持久化 为 ...
- element 时间限制 结束时间大于开始时间 数组形式
组件中 绑定focus时间 <el-form-item v-for="(item, index) in ruleForm.yunqiDateArr" :key="i ...