`
json20080301
  • 浏览: 166242 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

SPRING MVC3.2案例讲解--SPRING MVC3的服务端验证

 
阅读更多

 

提到服务器端验证,从最开始的STRUTS1开始就提供了,只要是MVC框架都提供了验证框架;直到最后开源框架直接促使JAVA推出新的JSR Bean Validation 1.0(JSR-303);   

http://www.iteye.com/topic/1123007

SPRING MVC 使用Hibernate Validator作为该标准的默认实现;

相关准备工作:

1.使用JSR303相关的JAR包

 

 

<!-- JSR 303 with Hibernate Validator -->

 

<dependency>

 

<groupId>javax.validation</groupId>

 

<artifactId>validation-api</artifactId>

 

<version>1.0.0.GA</version>

 

</dependency>

 

<dependency>

 

<groupId>org.hibernate</groupId>

 

<artifactId>hibernate-validator</artifactId>

 

<version>4.1.0.Final</version>

 

</dependency>

 

 

 

2. 在POJO上使用JSR303的相关注解:

 

 

 

 

package org.springframework.samples.mvc.form;

import java.math.BigDecimal;
import java.util.Date;
import java.util.Map;

import javax.validation.constraints.Min;
import javax.validation.constraints.Past;

import org.hibernate.validator.constraints.NotEmpty;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.format.annotation.NumberFormat;
import org.springframework.format.annotation.DateTimeFormat.ISO;
import org.springframework.format.annotation.NumberFormat.Style;
import org.springframework.samples.mvc.convert.MaskFormat;

public class FormBean {
	
	@NotEmpty
	private String name;
	
	@Min(21)
	private int age;

	@DateTimeFormat(iso=ISO.DATE)
	@Past
	private Date birthDate;

	@MaskFormat("(###) ###-####")
	private String phone;

	@NumberFormat(pattern="$###,###.00")
	private BigDecimal currency;

	@NumberFormat(style=Style.PERCENT)
	private BigDecimal percent;
	
	private InquiryType inquiry;
	
	private String inquiryDetails;
	
	private boolean subscribeNewsletter;
	
	private Map<String, String> additionalInfo;

}
//get set方法在博文中省略

 

 

3.在controller中使用@Valid

 

 

@Valid

 

	@RequestMapping(method = RequestMethod.POST)
	public String processSubmit(@Valid FormBean formBean, BindingResult result,
			@ModelAttribute("ajaxRequest") boolean ajaxRequest, Model model,
			RedirectAttributes redirectAttrs) {
		if (result.hasErrors()) {
			return null;
		}
        }

 

4.注意使用<mvc:annotation-driven> 后,不需要显式使用hibernate-validator

 

 

分享到:
评论

相关推荐

    spring mvc服务端表单验证实例

    在Spring MVC框架中,服务端表单验证是一个关键的步骤,确保从客户端接收到的数据是...通过以上讲解,你应该对Spring MVC服务端表单验证有了全面的理解。实践这个实例将有助于巩固理论知识,并提升你的实际开发技能。

    SpringMVC源码总结(二)mvc:mvc:annotation-driven背后的那些事

    在Spring MVC框架中,`mvc:annotation-driven`是Spring MVC配置中的一个重要元素,它使得我们的应用能够支持基于注解的控制器、数据绑定、格式化转换器和服务端验证等功能。这篇博客将深入探讨`mvc:annotation-...

    spring boot+spring mvc+spring整合开发音乐小程序(含简单服务端)

    spring boot+spring mvc+spring整合开发**音乐**小程序(含简单服务端) 项目描述 spring boot+spring mvc+spring代理请求**音乐接口获取数据,然后提供给**小程序做显示 运行环境 jdk8+IntelliJ IDEA+maven ...

    baomidou-SpringWind-spring-mvc_java_

    SpringWind与Spring MVC的结合表明,它可能采用了Spring框架作为其服务端的基础,利用Spring MVC进行Web应用程序的开发。Spring MVC是一个模型-视图-控制器架构,用于构建可维护、可测试的Java Web应用程序。通过...

    Spring MVC+BlzeDS+Flex框架实践:HelloWorld篇

    Spring MVC+BlazeDS+Flex...总结,这个HelloWorld示例涵盖了Spring MVC作为服务端控制逻辑,BlazeDS作为数据传输层,以及Flex作为前端UI的集成应用。通过这样的组合,开发者可以构建出高度交互、实时更新的Web应用。

    Maven+Spring MVC +Hibernate Validate(服务端验证)

    标题 "Maven+Spring MVC +Hibernate Validate(服务端验证)" 描述的是一个使用现代Java Web开发技术栈构建的应用示例,其中包括三个核心组件:Maven、Spring MVC和Hibernate Validate。这个项目展示了如何整合这些...

    springMVC整合cxf所需的jar包

    5. **注意点**:整合过程中要注意版本兼容性,Spring MVC和CXF的不同版本之间可能存在不兼容问题,因此建议使用相同版本或经过验证的兼容版本。此外,确保所有必需的依赖都被正确引入,避免因为缺失jar包导致的运行...

    采用SpringBoot+Spring+Spring mvc+mybatis实现Flutter微校园APP的服务端程序-源码

    本项目是基于Spring Boot、Spring、Spring MVC和MyBatis技术栈实现的Flutter微校园APP的服务端程序。这个服务端程序旨在为Flutter前端提供稳定、高效的数据接口,以支持校园生活的各种功能,如课程管理、成绩查询、...

    spring-mvc 官方实例

    8. **验证**:Spring MVC与JSR 303/349的Bean Validation集成,支持在服务端进行表单验证。通过@Valid和@Validator注解可以实现数据验证。 9. **国际化与本地化**:Spring MVC提供了资源包(Resource Bundle)支持...

    java课件-15-spring MVC

    Spring MVC支持异步请求处理,通过`@Async`和`@ResponseBody`注解,可以实现非阻塞式服务端处理。 13. **整合其他技术** Spring MVC可以无缝集成Spring的其他模块,如Spring Security进行安全控制,Spring Data...

    spring mvc+mybatis项目代码

    【标签】"springmvc"进一步强调了该项目的核心技术栈,Spring MVC是模型-视图-控制器(MVC)设计模式的实现,它提供了强大的依赖注入、数据绑定、验证以及异常处理等功能,使得开发者可以更加专注于业务逻辑的编写,...

    毕业设计管理系统java服务端,采用spring mvc.zip

    "毕业设计管理系统java服务端,采用spring mvc" 这个标题指出的是一个基于Java的毕业设计项目,重点在于服务端的实现。Spring MVC是这个系统所采用的技术框架,它是一个用于构建Web应用程序的轻量级、模型-视图-控制...

    官方原版完整包 spring-framework-5.3.3.RELEASE.zip

    **spring-5.3.3-dist.zip** 包含了Spring框架的核心库和其他相关模块,例如Spring MVC、Spring WebFlow、Spring Data、Spring AOP(面向切面编程)等。这些模块为开发者提供了全面的支持,用于构建服务端应用,包括...

    Spring+Spring MVC+Mybatis框架搭建

    在Java Web开发中,Spring、Spring MVC和Mybatis是三个非常重要的开源框架,它们的集成使用,被称为"SSM"框架。本项目旨在通过这些框架的整合,搭建一个完整的后端开发环境。以下是对这三个框架及其整合过程的详细...

    毕业设计管理系统java服务端,采用spring mvc

    毕业设计管理系统是一个典型的Java Web应用,它利用Spring MVC框架来构建服务端逻辑。Spring MVC是Spring框架的一个模块,专门用于处理Web应用程序的请求-响应模型。这个系统可能包含了用户管理、项目分配、进度跟踪...

    单元测试案例junit +spring mvc +springboot

    综上所述,"单元测试案例junit +spring mvc +springboot"涉及的是使用JUnit进行单元测试,结合Spring MVC和Spring Boot的特点,对服务端代码进行详尽的验证,确保代码的稳定性和可靠性。通过合理的测试策略和工具,...

    spring+MVC中文教程

    - **RESTful API**:利用Spring MVC的注解来快速构建RESTful风格的服务端API。 - **表单处理**:Spring MVC提供了丰富的表单处理支持,包括数据绑定、验证等。 #### 六、总结 Spring框架通过其强大的依赖注入、面向...

    spring-framework-5.0.5.RELEASE 漏洞修复

    当使用Spring MVC或Spring WebFlux框架的应用收到一个客户端请求,并用它来向另一个服务端发送multipart请求时,攻击者可利用该漏洞往里插入恶意内容。该漏洞的利用有一定的限制,要求攻击者能够猜到multipart字段的...

Global site tag (gtag.js) - Google Analytics