提到服务器端验证,从最开始的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框架中,`mvc:annotation-driven`是Spring MVC配置中的一个重要元素,它使得我们的应用能够支持基于注解的控制器、数据绑定、格式化转换器和服务端验证等功能。这篇博客将深入探讨`mvc:annotation-...
spring boot+spring mvc+spring整合开发**音乐**小程序(含简单服务端) 项目描述 spring boot+spring mvc+spring代理请求**音乐接口获取数据,然后提供给**小程序做显示 运行环境 jdk8+IntelliJ IDEA+maven ...
SpringWind与Spring MVC的结合表明,它可能采用了Spring框架作为其服务端的基础,利用Spring MVC进行Web应用程序的开发。Spring MVC是一个模型-视图-控制器架构,用于构建可维护、可测试的Java Web应用程序。通过...
Spring MVC+BlazeDS+Flex...总结,这个HelloWorld示例涵盖了Spring MVC作为服务端控制逻辑,BlazeDS作为数据传输层,以及Flex作为前端UI的集成应用。通过这样的组合,开发者可以构建出高度交互、实时更新的Web应用。
标题 "Maven+Spring MVC +Hibernate Validate(服务端验证)" 描述的是一个使用现代Java Web开发技术栈构建的应用示例,其中包括三个核心组件:Maven、Spring MVC和Hibernate Validate。这个项目展示了如何整合这些...
5. **注意点**:整合过程中要注意版本兼容性,Spring MVC和CXF的不同版本之间可能存在不兼容问题,因此建议使用相同版本或经过验证的兼容版本。此外,确保所有必需的依赖都被正确引入,避免因为缺失jar包导致的运行...
本项目是基于Spring Boot、Spring、Spring MVC和MyBatis技术栈实现的Flutter微校园APP的服务端程序。这个服务端程序旨在为Flutter前端提供稳定、高效的数据接口,以支持校园生活的各种功能,如课程管理、成绩查询、...
8. **验证**:Spring MVC与JSR 303/349的Bean Validation集成,支持在服务端进行表单验证。通过@Valid和@Validator注解可以实现数据验证。 9. **国际化与本地化**:Spring MVC提供了资源包(Resource Bundle)支持...
Spring MVC支持异步请求处理,通过`@Async`和`@ResponseBody`注解,可以实现非阻塞式服务端处理。 13. **整合其他技术** Spring MVC可以无缝集成Spring的其他模块,如Spring Security进行安全控制,Spring Data...
【标签】"springmvc"进一步强调了该项目的核心技术栈,Spring MVC是模型-视图-控制器(MVC)设计模式的实现,它提供了强大的依赖注入、数据绑定、验证以及异常处理等功能,使得开发者可以更加专注于业务逻辑的编写,...
"毕业设计管理系统java服务端,采用spring mvc" 这个标题指出的是一个基于Java的毕业设计项目,重点在于服务端的实现。Spring MVC是这个系统所采用的技术框架,它是一个用于构建Web应用程序的轻量级、模型-视图-控制...
**spring-5.3.3-dist.zip** 包含了Spring框架的核心库和其他相关模块,例如Spring MVC、Spring WebFlow、Spring Data、Spring AOP(面向切面编程)等。这些模块为开发者提供了全面的支持,用于构建服务端应用,包括...
在Java Web开发中,Spring、Spring MVC和Mybatis是三个非常重要的开源框架,它们的集成使用,被称为"SSM"框架。本项目旨在通过这些框架的整合,搭建一个完整的后端开发环境。以下是对这三个框架及其整合过程的详细...
毕业设计管理系统是一个典型的Java Web应用,它利用Spring MVC框架来构建服务端逻辑。Spring MVC是Spring框架的一个模块,专门用于处理Web应用程序的请求-响应模型。这个系统可能包含了用户管理、项目分配、进度跟踪...
综上所述,"单元测试案例junit +spring mvc +springboot"涉及的是使用JUnit进行单元测试,结合Spring MVC和Spring Boot的特点,对服务端代码进行详尽的验证,确保代码的稳定性和可靠性。通过合理的测试策略和工具,...
- **RESTful API**:利用Spring MVC的注解来快速构建RESTful风格的服务端API。 - **表单处理**:Spring MVC提供了丰富的表单处理支持,包括数据绑定、验证等。 #### 六、总结 Spring框架通过其强大的依赖注入、面向...
当使用Spring MVC或Spring WebFlux框架的应用收到一个客户端请求,并用它来向另一个服务端发送multipart请求时,攻击者可利用该漏洞往里插入恶意内容。该漏洞的利用有一定的限制,要求攻击者能够猜到multipart字段的...
总的来说,"spring-boot项目服务端"涵盖了现代Java开发中的多个关键组件:Spring Boot简化了项目的初始化和配置,Maven管理了项目的构建和依赖,MyBatis提供了灵活的数据库访问方式,而Spring MVC则支持API的开发。...