SpringMVC学习笔记
web.xml 配置
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> org.springframework.web.context.request.RequestContextListener org.springframework.web.context.ContextLoaderListener contextConfigLocation classpath*:applicationContext.xml dispatcherServlet org.springframework.web.servlet.DispatcherServlet dispatcherServlet .html characterEncodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding utf-8 forceEncoding true characterEncodingFilter /* httpPutFormContentFilter org.springframework.web.filter.HttpPutFormContentFilter httpPutFormContentFilter /* hiddenHttpMethodFilter org.springframework.web.filter.HiddenHttpMethodFilter hiddenHttpMethodFilter /*
常用注解
@RequestMapping(value,mehotd,consumes,produces,params,headers等属性)
- value 属性:代表具体的请求路径
- method 属性: 请求方式
- consumes 属性:指定请求的提交内容类型
- prduces 属性:指定请求中必须包含某些参数值,才会触发这个处理方法
- params 属性:指定请求中必须包含某些参数值,才会触发这个处理方法
- headers 属性:指定请求中必须包含某些参数值,才会触发这个处理方法
@Component
@Controller
@Service
@Repository
@Resource
@Autowired
@PathVariable
@RequestParam
@CookieValue
@SessionAttributes
@ResponseBody
@RequestHeader
数据校验
JSR 303 检验框架
- JSR 303 用于对 POJO 中字段的值进行验证,使得验证逻辑从业务代码中脱离出来
- 是一个运行时的数据验证框架,在验证之后验证的错误信息会被马上返回
- 一般用于表单提交页面
常用注解
@NotNull 注解元素必须是非空
@Null 注解元素必须是空
@Digits 验证数字构成是否合法
@Future 验证是否在当前系统时间之后
@Past 验证是否在当前系统时间之前
@Max 验证值是否小于等于最大指定整数值
@Patter 验证字符串是否匹配指定的正则表达式
@Size 验证元素大小是否在指定范围内
@DecimalMax 验证值是否小于等于最大指定小数值
@DecimalMin 验证值是佛大于等于最小指定小数值
@AssertTrue 被注释的元素必须为true
@AssertFalse 被注释的元素必须为false
Hibernate Validator 扩展
@Email 被注释的元素必须是电子邮箱地址
@Length 被注释的字符串的大小必须在指定的范围内
@NotEmpty 被注释的字符串的必须是非空
@NotBlank 被注释的字符串的必须是非空,且长度需要大于0
@Range 被注释的元素必须在合适的范围内
需要引入的jar:
hibernate-validator validation-api slf4j-api slf4j-log4j12
配置 springmvc 校验框架
在applicationContext-mvc.xml配置
在 POJO 进行配置
在Controller中进行配置
自定义校验规则
定义注解类,并使用Constraint注解标注,属性validatedBy指定校验实现类
定义实现类,需要集成ConstraintValidator接口,isValid方法负责校验