代码来自Spring in action 165页
在pojo上加入注解,个人认为这样编写工作量相当大,而且对代码侵入比较高。
public class Spitter { private Long id; @NotNull @Size(min=5, max=16) private String username; @NotNull @Size(min=5, max=25) private String password; @NotNull @Size(min=2, max=30) private String firstName; @NotNull @Size(min=2, max=30) private String lastName; @NotNull @Email private String email; -------------------------------------------- //下面是setter和getter方法
在控制层进行验证
package spittr.web; import static org.springframework.web.bind.annotation.RequestMethod.*; import javax.validation.Valid; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.Errors; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import spittr.Spitter; import spittr.data.SpitterRepository; @Controller @RequestMapping("/spitter") public class SpitterController { @RequestMapping(value="/register", method=POST) public String processRegistration( @Valid Spitter spitter, Errors errors) { if (errors.hasErrors()) { return "registerForm"; } spitterRepository.save(spitter); return "redirect:/spitter/" + spitter.getUsername(); }
讲传输的表单数据转换成pojo,并且进行了验证。如果有错误的话讲错误放到Errors errors,然后在控制层判断errors,如果有错误回到提交表单页面,如果正确跳转到正确的页面。
如果公司喜欢在控制层编写if去判断,那就去编写if语句吧。
相关推荐
本项目是一个基于Spring 4的Spring MVC实现,内含登录功能和拦截器,可以直接运行,为开发者提供了一个快速开发的基础模板。 首先,让我们详细了解一下Spring MVC的核心概念: 1. **DispatcherServlet**:它是...
XML配置是Spring MVC早期版本中常见的配置方式,它允许开发者通过XML文件来定义组件、映射URL和设置拦截器等。在本篇文章中,我们将深入探讨如何在Spring MVC中使用XML配置来实现拦截器。 拦截器(Interceptor)在...
Spring MVC还支持RESTful风格的URL设计,以及视图解析器和数据绑定功能。 **Spring的其他特性** 1. **声明式事务管理**:通过XML或注解方式,可以轻松实现事务的统一管理。 2. **MVC注解驱动**:通过@Controller、...
5. **拦截器(Interceptor)**:WebWork 使用拦截器来处理请求前后的逻辑,这里添加的 `reference-resolver` 拦截器确保了 Action 中的外部引用能在运行时被正确解析。 6. **web.xml 配置**:配置监听器是集成的...
这里的`MyInterceptor`是一个自定义的拦截器,我们使用`excludePathPatterns`方法来排除图片路径。 总结 在本文中,我们详细介绍了Spring Boot自带图片服务器的使用方法,并提供了一些实用的配置和代码示例。使用...
4)启动 cloud-provide 此处swagger-ui,定时器,自定义拦截器 功能 5)启动 cloud-consumber 此处有Feign,hystrix功能 此时访问http://127.0.0.1:9000/hello 可获取到结果 6)启动 cloud-getaway 此处有zuul拦截...
Druid是阿里巴巴提供的一个高效、强大的数据库连接池,它提供了监控、拦截器等功能。配置如下: ```xml ``` **三、自定义行映射器工具类** 在处理查询结果时,Spring JDBC通常使用RowMapper接口将...
- **Filter Chain**: Spring Security 使用过滤器链来拦截HTTP请求,执行认证和授权过程。在Spring MVC应用中,这些过滤器需要正确配置并添加到Servlet容器的过滤器链中。 - **SecurityContextHolder**: 用于存储...
1. Spring MVC:Spring自带的Model-View-Controller架构,是Spring Web应用的核心。它简化了处理HTTP请求、数据绑定、验证和视图渲染的过程。本章会详细讲解Spring MVC的配置、控制器定义、模型数据管理以及视图解析...
`jpetstore` 的配置文件,如 `applicationContext.xml` 和 `webmvc-config.xml`,定义了 Spring 容器的bean及其依赖关系,以及 MVC 配置,如视图解析器和拦截器的设置。 **8. 用户界面** `jpetstore` 的用户界面...
拦截器和过滤器** Spring Security 使用一系列过滤器链来处理HTTP请求。这些过滤器包括`DelegatingFilterProxy`、`SecurityContextHolderAwareRequestFilter`、`AnonymousAuthenticationFilter`等,它们共同协作...
在实际开发中,Spring MVC提供了许多高级特性,如数据绑定、模型验证、本地化、主题支持、拦截器等,使得构建复杂的Web应用程序变得更加容易和灵活。通过深入学习和实践,你可以逐步掌握Spring MVC的更多功能,提升...
拦截器可以对请求进行预处理和后处理,例如权限检查、日志记录等。通过实现`HandlerInterceptor`接口并注册到Spring MVC上下文中,即可实现自定义的拦截逻辑。 8. **消息转换器(Message Converter)** Spring ...
- **AOP与Instrumentation**:Spring AOP模块支持面向切面编程,并允许定义方法拦截器和切入点,这使得诸如事务管理等常见服务可以非侵入性地被添加到应用程序中。Instrumentation模块则提供了类加载时间的增强机制...
1. **CSRF防护**:Spring Security 自带了CSRF防护功能,可以防止恶意第三方发起跨站请求。 2. **OAuth2支持**:Spring Security 也支持OAuth2协议,可以用于实现第三方登录或者API权限控制。 3. **记住我功能**:...
例如,如果你想使用Struts2自带的文件上传拦截器,你可以在struts.xml文件中为你的Action添加fileUpload拦截器: ```xml <result name="success">/upload_success.jsp <result name="input">/upload.jsp ...
1.SpringMVC4.3.16,Mybatis3.2.2,Spring4.3.16三大框架的整合; 2、项目基于Maven做依赖管理 3、前端框架集成了Bootstrap3.3.5,Jquery1.12.3,集成了Bootstrap...9、包含了带验证码的登录功能以及登录权限验证的拦截器
Spring MVC 支持自定义拦截器(HandlerInterceptor),可以在请求处理前后执行预处理和后处理操作,例如权限验证、日志记录等。 ### 5. 数据绑定与验证 - 数据绑定:Spring MVC 自动将请求参数绑定到方法参数上,...
这个过滤器能够代理SpringSecurity中的核心部分,即过滤器,从而让这些过滤器可以享受到SpringWebApplicationContext的生命周期支持。DelegatingFilterProxy类位于spring-web-3.0.0RELEASE.jar包中。 文档还提到在...
1.SpringMVC4.3.16,Mybatis3.2.2,Spring4.3.16三大框架的整合; 2、项目基于Maven做依赖管理 3、前端框架集成了Bootstrap3.3.5,Jquery1.12.3,集成了Bootstrap...9、包含了带验证码的登录功能以及登录权限验证的拦截器