数据校验

pt-table-checksum

流过昼夜 提交于 2020-02-23 01:48:12
pt-table-checksum是percona公司提供的一个用于在线比对主从数据一致性的工具。 实现原理 将一张大表分成多个chunk,每次针对一个chunk进行校验,同时将校验的结果通过REPLACE INTO语句写入到percona.checksums表中,然后该语句通过主从复制,在SLAVE中同样执行一次,校验的结果同样是写入到percona.checksums表中,最后,通过查询percona.checksums来获取主从不一致的信息。 常见用法 1. 基本用法 # pt-table-checksum -h192.168.244.10 -umonitor -pmonitor123 其中,monitor的最小权限如下(第二个权限是针对percona.checksums的): GRANT SELECT, PROCESS, SUPER, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'monitor'@'192.168.244.10'; GRANT ALL PRIVILEGES ON `percona`.* TO 'monitor'@'192.168.244.10'; 2. pt-table-checksum默认是运行在statement下,如果是其它日志格式,需加--no-check-binlog-format参数 # pt

pt-table-checksum校验与pt-table-sync修复数据

风格不统一 提交于 2020-02-23 01:14:55
1:下载工具包 登录网站下载相应的工具包 https://www.percona.com/downloads/percona-toolkit/LATEST/ 2:安装 (1)yum安装: sudo yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm yum list | grep percona-toolkit 结果集显示以下证明安装成功: percona-toolkit.noarch 3.0.0-rc percona-release-noarch 然后进行安装 sudo yum install percona-toolkit (2)解压安装包: [root@localhost home]# cd toolkit/ [root@localhost toolkit]# ls percona-toolkit-2.2.19.tar.gz [root@localhost toolkit]# tar -xvf percona-toolkit.tar.gz 至此来说已经安装了percona 的toolKit工具包,下面主要测一下pt-table-checksum校验与pt-table-sync,前者主要用于数据的校验,验证主从是否一致

用户数据校验功能

冷暖自知 提交于 2020-02-22 05:53:44
目录 接口说明 Pojo Controller Service Mapper 接口说明 实现用户数据的校验,主要包括对:手机号、用户名的唯一性校验。 接口路径: GET /check/{data}/{type} 参数说明: 参数 说明 是否必须 数据类型 默认值 data 要校验的数据 是 String 无 type 要校验的数据类型:1,用户名;2,手机; 否 Integer 1 返回结果: 返回布尔类型结果: true:可用 false:不可用 状态码: 200:校验成功 400:参数有误 500:服务器内部异常 Pojo @Table(name = "tb_user") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String username;// 用户名 @JsonIgnore //对象序列化为json字符串时,忽略该属性 private String password;// 密码 private String phone;// 电话 private Date created;// 创建时间 @JsonIgnore private String salt;// 密码的盐值 Controller @Controller

第六章、Struts2数据校验

两盒软妹~` 提交于 2020-02-22 04:44:14
一、三种实现方式 ① 用validate()方法实现数据校验 继承ActionSupport类,该类实现了Validateable接口,该接口中定义了一个validate()方法,在自定义的Action类中重写validate()方法,如果校验表单输入域出现错误,则将错误添加到ActionSupport类的fieldErrors域中,然后通过OGNL表达式负责输出。 实现思路: 准备注册页面:regist.jsp 创建Action类ValidateAction,该类继承自ActionSupport,并重写execute(),因为要实现数据校验,所以需重写validate(),然后进行一系列的判定 public class ValidateAction extends ActionSupport{ private UserInfo info; //确认密码 private String okpwd; @Override public String execute() throws Exception{ return SUCCESS; } //实现数据校验 @Override public void validate() { if(info.getUsername().length()==0){ addFieldError("username", "用户名不能为空"); } if

JavaWeb框架_Struts2_(六)----->Struts2的输入校验

a 夏天 提交于 2020-02-20 11:35:52
1. Struts2的输入校验 1.1 输入校验概述    输入校验分为客户端校验和服务器端校验,客户端校验主要是过滤正常用户的误操作,主要通过JavaScript代码完成;服务器端校验是整个应用阻止非法数据的最后防线,主要通过在应用中编程实现。 1.1.1 客户端校验    大多数情况下,使用JavaScript进行客户端校验的步骤如下: 编写校验函数; 在提交表单的事件中调用校验函数; 根据校验函数来判断是否进行表单提交;   下面通过一个简单的示例讲解使用JavaScript进行客户端校验的方法,具体代码如下所示: <%-- Created by IntelliJ IDEA. User: mairr Date: 17-12-5 Time: 下午10:07 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page language = "java" import = "java.util.*" pageEncoding="utf-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <html> <head>

06章 Struts2数据校验

喜你入骨 提交于 2020-02-20 07:50:42
一、三种实现方式 ① 用validate()方法实现数据校验 继承ActionSupport类,该类实现了Validateable接口,该接口中定义了一个validate()方法,在自定义的Action类中重写validate()方法,如果校验表单输入域出现错误,则将错误添加到ActionSupport类的fieldErrors域中,然后通过OGNL表达式负责输出。 实现思路: 准备注册页面:regist.jsp 创建Action类ValidateAction,该类继承自ActionSupport,并重写execute(),因为要实现数据校验,所以需重写validate(),然后进行一系列的判定 public class ValidateAction extends ActionSupport{ private UserInfo info; //确认密码 private String okpwd; @Override public String execute() throws Exception{ return SUCCESS; } //实现数据校验 @Override public void validate() { if(info.getUsername().length()==0){ addFieldError("username", "用户名不能为空"); } if

Struts2(五)数据校验

主宰稳场 提交于 2020-02-20 07:50:28
一、概述   在提交表单数据时,如果数据需要保存到数据库,空输入等可能会引发一些异常,为了避免引起用户的输入引起底层异常,通常在进行业务逻辑操作之前,先执行基本的数据校验。   下面通过两种方式来阐述Struts 2的数据校验功能。 二、重写validate方法   我们编写的Action一般继承与ActionSupport,而ActionSupport不仅实现了Action接口,还实现了Validatable接口,提供了数据校验功能。在Validatable接口中定义一个validate方法,重写该方法,如果校验表单输入域出现错误,则将错误添加到ActionSupport类的fieldError域中,然后通过OGNL表达式输出。   下面是用户登录界面: <%@ taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <meta http-equiv="Content-Type" content="text/html; charset

Struts2数据校验

*爱你&永不变心* 提交于 2020-02-20 06:47:35
一.为什么要进行数据校验 对于一个web应用而言,所有的应用数据都是通过浏览器收集的,用户的输入信息是非常复杂的,对于一些用户操作不熟练,输入出错,等网络传输不稳定,这些都有可能导致异常输入。 异常的输入,轻则导致系统非正常中断,重则导致系统崩溃,应用程序必须能正常处理表现层接收的异常数据,通常的做法是遇到非法数据,应用程序将相应的给出用户提示,提示用户必须输入要求的数据,也就是将那些异常输入过滤掉,我们说对异常数据的过滤就是数据校验。 二.如何实现数据校验 我们可以让一个自定义类去继承自一个ActionSupport类,这个类是一个默认的的Action实现类,他的完全限定名com.opensymphony.xwork2.ActionSupport.这个类中提供了很多的默认方法,包括获取国际化信息的方法,数据校验的方法,以及默认处理用户请求的方法等,由于ActionSupport类是Struts2默认的实现类,所以如果在struts.xml中的Action配置中省略了class属性,则代表访问ActionSupport类,其execute()方法直接返回SUCCESS,同时ActionSupport类还增加了对验证,本地化的支持。 login.jsp <div> <!-- 输出校验信息 注意标签的名称要与方法的名称相对应--> <s:fielderror fieldName=

Struts2数据校验

谁都会走 提交于 2020-02-20 06:46:04
一.为什么要进行数据校验 对于一个web应用而言,所有的应用数据都是通过浏览器收集的,用户的输入信息是非常复杂的,对于一些用户操作不熟练,输入出错,等网络传输不稳定,这些都有可能导致异常输入。 异常的输入,轻则导致系统非正常中断,重则导致系统崩溃,应用程序必须能正常处理表现层接收的异常数据,通常的做法是遇到非法数据,应用程序将相应的给出用户提示,提示用户必须输入要求的数据,也就是将那些异常输入过滤掉,我们说对异常数据的过滤就是数据校验。 二.如何实现数据校验 我们可以让一个自定义类去继承自一个ActionSupport类,这个类是一个默认的的Action实现类,他的完全限定名com.opensymphony.xwork2.ActionSupport.这个类中提供了很多的默认方法,包括获取国际化信息的方法,数据校验的方法,以及默认处理用户请求的方法等,由于ActionSupport类是Struts2默认的实现类,所以如果在struts.xml中的Action配置中省略了class属性,则代表访问ActionSupport类,其execute()方法直接返回SUCCESS,同时ActionSupport类还增加了对验证,本地化的支持。 三.数据校验案例 我们在这里就一个登录案例来演示 1.登录界面login.jsp: <%@ page language="java" import=

struts2 之 struts2数据校验

╄→尐↘猪︶ㄣ 提交于 2020-02-20 06:43:33
1. 数据校验一般分为2类:前端的校验(js校验),后端的校验(java代码);实际开发中大部分情况下都是采用js校验。在对数据安全要求较高的情况下可能会采用后端验证。 2. Struts2提供了后端验证机制。有两种方式来实现,一种是通过硬编码来实现,一种是通过校验框架来实现。在struts2如果使用struts2提供校验机制,那么必须继承ActionSuport类。该类中有一个vaildete方法,在处理的action类中重写该方法,那么在执行所有方法的时候,会执行validate方法。validate方法通过以后才执行处理方法。如果要验证特定的方法,那么需要为特定的方法指定其验证方法,命名规则,如果处理方法为xxx,那么验证方法为vaildateXxx。执行顺序为先执行validateXxx,在执行validate方法,在执行xxx方法。 3. 添加校验方法后执行流程: 4. 实现步骤: (a).在处理类中添加校验方法: public class UserAction extends ActionSupport{ private User user; //添加的处理方法 public String add(){ System.out.println("执行add"); System.out.println("执行添加动作"); return Action.SUCCESS; }