SpringMVC下半篇之异常处理器及日期转换器

3.异常处理器

如果不加以异常处理,错误信息肯定会抛在浏览器页面上,这样很不友好,所以必须进行异常处理。

3.1.异常处理思路

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

3.2.创建异常处理器

java 复制代码
@Component
public class CustomExceptionResolver implements HandlerExceptionResolver {

	@Override
	public ModelAndView resolveException(HttpServletRequest request,
					HttpServletResponse response, Object handler, Exception ex) {
		ModelAndView modelAndView = new ModelAndView();
		modelAndView.addObject("message", ex.getMessage());
		modelAndView.setViewName("error");
		return modelAndView;
	}

}

3.3.测试

  • 编写controller
java 复制代码
@Controller
@RequestMapping("/account")
public class AccountController {

   @RequestMapping("/findAccount14")
    public String findAccount14(Model model) {
        model.addAttribute("msg", "欢迎你 springmvc");
        //模拟异常信息
        int i = 10/0;
        return "success";
    }
}
  • 在index.jsp里面定义超链接
html 复制代码
<a href="/account/findAccount14">异常处理器</a>

5.日期转换器

5.1.自定义日期转换器

java 复制代码
public class DataConvert implements Converter<String, Date> {
 
      /***
     * 配置时间转换类
     * @param date
     * @return
     */
    @Override
    public Date convert(String date) {
        try {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            return sdf.parse(date);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}

5.2.1.配置自定义日期转换器

xml 复制代码
<!--注册类型转换器:处理器映射器去调用convertionServiceBean-->
<mvc:annotation-driven conversion-service="convertionServiceBean"/>
 
 <!-- 配置转换器 -->
 <bean id="convertionServiceBean" 
       class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
     <property name="converters">
         <set>
             <bean class="com.by.converter.DataConverter"></bean>
         </set>
     </property>
 </bean>
相关推荐
小码哥_常2 分钟前
Spring Boot接口防抖秘籍:告别“手抖”,守护数据一致性
后端
心之语歌18 分钟前
基于注解+拦截器的API动态路由实现方案
java·后端
None32119 分钟前
【NestJs】基于Redlock装饰器分布式锁设计与实现
后端·node.js
初次攀爬者21 分钟前
Kafka + KRaft模式架构基础介绍
后端·kafka
洛森唛25 分钟前
Elasticsearch DSL 查询语法大全:从入门到精通
后端·elasticsearch
拳打南山敬老院1 小时前
Context 不是压缩出来的,而是设计出来的
前端·后端·aigc
初次攀爬者1 小时前
Kafka + ZooKeeper架构基础介绍
后端·zookeeper·kafka
LucianaiB1 小时前
Openclaw 安装使用保姆级教程(最新版)
后端
华仔啊2 小时前
Stream 代码越写越难看?JDFrame 让 Java 逻辑回归优雅
java·后端
用户8307196840822 小时前
spring ai alibaba + nacos +mcp 实现mcp服务负载均衡调用实战
spring boot·spring·mcp