一.概述 JSR-349 (Bean Validation 1.1)对数据验证进一步进行的规范,主要内容如下: 1.依赖注入验证 2.方法级别验证 二.依赖注入验证 spring提供BeanValidationPostProcessor用于支持依赖注入验证,使用如下: 配置 <bean class="org.springframework.validation.beanvalidation.BeanValidationPostProcessor"> <property…
一.概述 文件上传时,http请求头Content-Type须为multipart/form-data,有两种实现方式: 1.基于FormData对象,该方式简单灵活 2.基于<form>表单元素,method设为POST,enctype设置为multipart/form-data,在form表单上提交 web容器收到该请求时,须根据请求头将字节流解析为文件对象,spring mvc 提供了MultipartResolver.MultipartFile两个接口用于支持文件上传功能 二.Mult…
一.消息处理功能 Spring提供MessageSource接口用于提供消息处理功能: public interface MessageSource { String getMessage(String code, Object[] args, String defaultMessage, Locale locale); String getMessage(String code, Object[] args, Locale locale) throws NoSuchMessageExcepti…
一.Web MVC简介 1.经典的MVC架构 存在的问题:1.控制器负责流程控制.请求数据整理与校验.模型与视图选择等功能,过于复杂.2.模型层没有进行分层设计 2.改进的MVC设计 1)控制器功能拆分:Front Controller + Application Controller + Page Controller + Context 前端控制器:表现层提供统一访问点,主要负责流程控制 应用控制器:负责选择具体的页面控制器(处理器)和具体的视图 页面控制器:功能处理代码,收集参数.封装参数…
一.概述 spring类型转换有两种方式: PropertyEditor:可实现String<--->Object 之间相互转换 Converter:可实现任意类型的相互转换 类型转换的过程中,当两者同时存在时,spring首先查找PropertyEditor进行类型转换,如果没有找到,则再查找Converter进行转换 二.PropertyEditor 1.基本介绍 PropertyEditor用于 String<--->Object 之间相互转换,spring内建了一些常用的P…
一.概述 在为前端提供http接口时,通常返回的数据需要统一的json格式,如包含错误码和错误信息等字段. 该功能的实现有四种可能的方式: AOP 利用环绕通知,对包含@RequestMapping注解的方法统一处理 优点:配置简单.可捕获功能方法内部的异常 缺点:aop不能修改返回结果的类型,因此功能方法的返回值须统一为Object类型 filter 在过滤器层统一处理 优点:配置简单 缺点:无法识别异常结果,须对返回结果进行额外的反序列化 拦截器  获取返回值不方便,且无法获取到String…
一.hello world 相对于基于Controller接口的方式,基于注解方式的配置步骤如下: HandlerMapping 与HandlerAdapter 分别配置为RequestMappingHandlerMapping.RequestMappingHandlerAdapter(或者添加配置:<mvc:annotation-driven />,详见:<mvc:annotation-driven/>的作用) 定义Controller类,添加注解@Controller 实例化为…
一.概述 Spring MVC异常处理功能的作用为:捕捉处理器的异常,并映射到相应视图 有4种方式: SimpleMappingExceptionResolver:通过配置的方式实现异常处理,该方式简单.无侵入性,但仅能获取到异常信息 HandlerExceptionResolver:通过实现该接口并实例化为bean实现异常处理,该方式简单.无侵入性,并能够获取关于异常的更详细信息 @ExceptionHandler:通过在控制器类或控制器类的基类中添加异常处理方法,从而实现单个控制器范围的异常…
spring mvc介绍:其实spring mvc就是基于servlet实现的,只不过他讲请求处理的流程分配的更细致而已. spring mvc核心理念的4个组件: 1.DispatcherServlet:负责接受所有的请求,就像普通的servlet一样,此接口只是简单的负责处理接受请求. 2.HandlerMapping:当接受到请求后,由此组件负责解析请求,知道该请求要访问那个具体的Controller(具体的Servlet). 3.HandlerAdaper:负责调用具体的Controll…
SpringMVC中的Servlet一共有三个层次,分别是HttpServletBean.FrameworkServlet和 DispatcherServlet.HttpServletBean直接继承自java的HttpServlet,其作用是将Servlet中配置的参数设置到相应的属性:FrameworkServlet初始化了WebApplicationContext,DispatcherServlet初始化了自身的9个组件. 本篇博客的内容就是对9个组件做个简单概述. 在学习9个组件之前,我…