SpringMVC的服务器验证二(注解方式实现)
2017-02-10 14:40
441 查看
SpringMVC注解方式的服务器验证:
常用的注解验证注解配置:1. 导入验证需要的jar包。
与springmvc的服务器验证一样。
案例:用户登录时的服务器验证,当账号和密码有空时,服务器会精确提示给用户账号为空或者密码为空;当两者都不为空,通过验证。
注解方式实现:在控制层不需要给控制层类 写
/** * 给这个类绑定一个验证类 * @param binder */ @InitBinder public void initBinder(DataBinder binder){ binder.setValidator(new MyValidate()); }
2. javabean的注解配置
以user为例:注解写在getter方法上也可以写在属性上(自己试)
javabean的注解配置的目的:当springMVC封装数据时,会进行验证,message中为错误信息 — 以user为类,当springMVC把客户端传来的数据封装成user时,会进行验证
public class User { private int id; private String username; private String password; private String email; private int age; private double score; //xxx@xxx.com @NotEmpty(message="邮箱不能为空") @Email(message="邮箱格式不正确") public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } @Range(max=120,min=0,message="年龄错误") public int getAge() { return age; } public void setAge(int age) { this.age = age; } @DecimalMax(value="99.9") public double getScore() { return score; } public void setScore(double score) { this.score = score; } public int getId() { return id; } public void setId(int id) { this.id = id; } //@NotNull(message="用户名不为空") //只验证 username!=null //@NotEmpty(message="用户名不为空") //验证 username!=null 和 username!="" @Pattern(regexp="^[a-zA-Z]\\w{5,13}$",message="用户名不符合规则") public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "User [id=" + id + ", username=" + username + ", password=" + password + "]"; } }
3.控制层上:在需要验证的方法的bean上加上注解 @Valid
加@valid指定特定的方式需要进行服务器验证
**4.客户端获取服务器验证的错误信息(错误信息在步骤2的注解配置message中)**
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> </head> <body> <form:form action="login" commandName="user" > <form:input path="username"/> //根据userBean的属性获取错误信息 <form:errors path="username"></form:errors> <br/> <form:password path="password"/> //根据userBean的属性获取错误信息 <form:errors path="password"></form:errors><br/> <form:button>提交</form:button> </form:form> </body> </html>
相关文章推荐
- springMVC 注解方式实现全程+文件上传
- springMVC学习笔记六(注解方式实现控制器)
- SpringMVC自定义注解的方式AOP实现 日志管理
- 天易47----Springmvc注解方式实现aop配置简单示例
- 使用Spring AOP注解方式实现表单重复提交验证功能
- springMVC 注解方式实现全程+文件上传
- springMVC 注解方式实现全程+文件上传
- SpringMVC验证框架Validation自定义注解实现传递参数到国际化资源文件
- BasicDAO与SpringDAO区别,使用Hibernate验证,注解方式实现主键自增,注解方式注入外键(一对多)
- springmvc自定义注解拦截器方式实现注解功能拦截器的配置
- 一篇非常经典的springMVC注解实现方式详解
- SpringMVC使用自定义注解的方式实现session检查
- SpringMVC中使用注解方式的对象验证
- SpringMVC常用注解,返回方式,路径匹配形式,验证【转】
- springMVC 注解方式实现全程+文件上传
- 篇非常经典的springMVC注解实现方式详解
- springMVC 注解方式实现文件上传
- SpringMVC验证框架Validation自定义注解实现传递参数到国际化资源文件
- springMVC 注解方式 验证用户输入
- springMVC基于注解方式实现配置流程