SpringMVC JSR 303数据校验案例

本文介绍了SpringMVC中利用JSR 303进行数据校验的方法,包括JSR 303作为Java Bean验证标准的作用,其与Hibernate Validator的关系,以及如何在实际项目中应用JSR 303进行注解约束验证。详细步骤涵盖了从导入JAR包,定义实体类,控制器处理,到配置文件和视图的展示。
摘要由CSDN通过智能技术生成

SpringMVC JSR 303数据校验案例

一、关于JSR303数据校验介绍

  • 输入验证是Spring处理的最重要Web开发任务之一。在SpringMVC中,有两种方式可以验证输入,一是利用Spring自带的验证框架,二是利用本文所讲的JSR 303实现,如果你纠结于使用这两种中的哪一种,那么我建议你采用JSR 303,因为JSR 303是正式的Java规范,而且使用相对简单

  • Spring 3开始支持JSR-303验证框架,JSR 303是Java为Bean数据合法性校验所提供的标准框架。JSR-303支持XML风格的和注解风格的验证,通过在Bean属性上标注类似于@NotNull、@Max等的标准注解指定校验规则,并通过标准的验证接口对Bean进行验证。

  • 当然JSR只是一个规范文档,本身用处不大,除非编写了它的实现。对于JSR bean
    validation目前有两个实现。第一个是实现Hibernate Validator(JSR 303和JSR
    349都有它的实现),二是实现Apache BVal(该实现相对于Hibernate Validator没那么稳定)

二、JSR 303约束和Hibernate Validator约束

JSR 303是标准的校验注解,Hibernate Validator也有自带的校验注解

这些注解约束,使用在实体类的成员变量中

在这里插入图片描述
2、Hibernate Validator注解约束

在这里插入图片描述

三、利用JSR 303数据校验实战

1、导入JAR包

在这里插入图片描述以上JAR包的下载,我会放到文末的工程下载中

2、项目目录

在这里插入图片描述3、User实体类

public class User {
   
  @NotEmpty	
  @Size(min=6,max=20)
  private String name;
  @Range(min=18,max=45)
  private int age;
  @Email
  @NotEmpty
  private String email;
	public String getName() {
   
		return name;
	}
	public void setName(String name) {
   
		this.name = name;
	}
	public int getAge() {
   
		return age;
	}
	public void setAge(int age) {
   
		this.age = age;
	}
	public String getEmail() {
   
		return email;
	}
	public void setEmail(String email) {
   
		this.email = email;
	}
}

4、请求处理控制器

@Valid作用:当该对象的类中已经定义好了验证规则,利用@Valid在控制器的方法中指定对该对象进行验证

package com.springmvc.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.validation.Valid;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值