这几天在完成一些基本添删改查功能,说实话这个还是比struts2要烦很多呀,因为struts2中有validate功能,使用契约模式,凡是以validateXXX(其中XXX是方法名),在执行XXX前会先执行,这样等于是个pre-check,并且还能起到一些参数的初始化能力。
可惜在springmvc中,只有一个@initbinder,他如同一个全局函数,与WebDataBinder绑定。不过他也有个毛病,就是在我的requestMapping方法参数中必须添加一个entity类型的,才会触发initbinder的函数。
回来说下,这个springmvc基本上可以把异常分成两类:
对于,这类spring到时提供了很好的解决方法,那就是
/**
* 文章id不正确
* @param bindingResult
* @param defaultPage
* @return
*/
@ExceptionHandler(ObjectNotFoundException.class)
public ModelAndView handleNotFoundEx(BindingResult bindingResult, String defaultPage) {
if(bindingResult == null) return handleErrors(defaultPage);
return handleErrors(bindingResult, defaultPage);
}
@ExceptionHandler这个还是挺好额,具体的spring自带的pdf中有说明,不过可惜,他不能支持如同:
@ExceptionHandler({xxx.class,xxx.class})
比如在用@PathVariable Long id时,如果id无法转换为long就会抛出一个typemis什么spring内置exception,这个实在很早很早还没有进入你的controller时就产生了,这时他调用的是在xxx-servlet.xml文件中定义的exception handler来处理。
<!-- Mapping exception to the handler view -->
<bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<!-- to /commons/error.jsp -->
<property name="defaultErrorView" value="/commons/error"/>
<property name="exceptionMappings">
<props>
</props>
</property>
</bean>
这里的exceptionMappings是能让你对应不同的exception,来进行处理的。不过具体代码还没有仔细看,spring自带的好像写得也不是很详细了
只好自己研究了。呵呵
分享到:
相关推荐
SpringMVC ---- HelloWorld ---- 代码 SpringMVC ---- HelloWorld ---- 代码 SpringMVC ---- HelloWorld ---- 代码 SpringMVC ---- HelloWorld ---- 代码 SpringMVC ---- HelloWorld ---- 代码 SpringMVC ---- Hello...
在SpringMVC-Mybatis-Shiro-Redis体系中,Shiro负责用户登录验证、权限控制和会话管理。开发者可以方便地定义角色和权限,实现细粒度的访问控制,保障系统的安全性。 Redis则作为一个高性能的键值存储系统,常用于...
基于SpringMVC Mybatis Shiro Redis 的权限管理系统,该系统已经部署到线上,线上访问地址:http://shiro.itboy.net,登录账号:admin 密码:sojson,,详细教程参考sojson.com/shiro
这是一个网上书城项目,采用当前最流行的框架Spring-SpringMVC-MyBatis设计,主要是对之前用Jsp/Servlet做的一些优化,重构了整个系统,感觉还不错,学到了很多新的知识,能对SSM框架熟练的运用了。 这是一个网上...
《SpringMVC-Activiti5.16-Shiro-EasyUI项目整合详解》 在现代企业级应用开发中,高效、安全、易用是至关重要的考量因素。SpringMVC、Activiti、Shiro和EasyUI这四个技术组件的整合,正是为了实现这样的目标。这篇...
ssm-springMVC-整合Quartz(解决了无法注入service问题).doc
这个压缩包文件“SpringMVC-Activiti5.16-Shiro-EasyUI.zip”显然包含了使用这些技术构建的一个完整或部分的应用系统。让我们详细探讨一下每个组件及其在实际开发中的应用。 **1. SpringMVC** SpringMVC是Spring...
微信 java weixin-java-tools-springmvc-master 微信 java weixin-java-tools-springmvc-master
SpringMVC---->自我实现底层机制(吃透springMVC)配套代码 SpringMVC---->自我实现底层机制(吃透springMVC)配套代码 SpringMVC---->自我实现底层机制(吃透springMVC)配套代码 SpringMVC---->自我实现底层机制...
标题 "spring-springMVC-mybatis框架基本代码代码" 提示我们关注的是一个集成Spring、SpringMVC和MyBatis的Java开发基础架构。这个框架组合通常被称为SSM(Spring、SpringMVC、MyBatis),是Java后端开发中的常见...
《Spring-SpringMvc-...总结,Spring-SpringMVC-Mybatis的整合使用,不仅简化了Java Web应用的开发,也提供了强大的功能支持。通过深入学习和实践,开发者可以掌握企业级应用开发的关键技术,提升自身的技术水平。
基于Spring-SpringmVC-mybatis的网上聊天室。 实现基于spring_springmvc-mybatis websocket用户登录,在线聊天功能,仿微信的聊天方式。 springmvc 在线聊天 websocket。
springmvc-springioc-lib.rar springmvc-springioc-lib.rar
总之,"springmvc-base-input-02" 项目涵盖了 Spring MVC 的基本输入处理,包括依赖管理、请求分发、模型绑定、数据验证和异常处理等关键概念。通过深入研究这个项目,开发者可以进一步理解如何构建一个健壮的、处理...
本教程将通过 "springmvc-helloworld" 这个示例项目,帮助你了解如何搭建 SpringMVC 环境以及其工作原理。 ### 一、SpringMVC 架构 SpringMVC 的核心组件包括 DispatcherServlet、Model、ViewResolver 和 ...
《SpringMVC高级应用探索——其他重要...以上只是SpringMVC高级特性的一部分,通过深入学习和实践"springmvc-high-other-05.rar"中的内容,我们可以进一步提升SpringMVC的使用技巧,构建出更高效、更健壮的Web应用。
5. **Sources jar**:`swagger-springmvc-1.0.2-sources.jar`则包含了源代码,这对于开发者调试和学习库的内部实现非常有帮助。通过源码,开发者可以深入理解库的工作原理,以及如何自定义和扩展其功能。 6. **核心...
《SpringMVC-Mybatis-Shiro-Redis整合实践详解》 在现代Web开发中,SpringMVC、Mybatis、Shiro以及Redis等技术是构建高效、安全、可扩展的Web应用的重要组件。本文将深入探讨这些技术的集成与应用,以"SpringMVC-...
此资源是基于SSM(Spring+SpringMVC+MyBatis)的高级整合,项目中利用前端框架bootstrap快速搭建简洁优美的界面,进行对mysql的增,删,改,查的基础操作。是一个非常适合新手学习的例子!!商品系统导入可用留言我可...
SpringMVC-配置文档以及其中的说明。 包含使用注解、扫描带注解的包 、使用注解方式配置springMVC的映射器和适配器