java 对JavaBean修改的审计

	//前台修改内容审计
	private void insertSampleShenJiMethod(Sample sample, Sample sample_fenku,
			StringBuffer sb, List<String> mobans) {
		// 前台登记审计
		Field oldFields[] = sample_fenku.getClass().getDeclaredFields();// 获取两个类中所有的属性
		Field newFields[] = sample.getClass().getDeclaredFields();// 获取两个类中所有的属性
		if(null!=sample_fenku.getDue_date()){
			sample_fenku.setDue_date(sample_fenku.getDue_date().substring(0, 10));
		}
		if(null!=sample_fenku.getX_receivedate()){
			sample_fenku.setX_receivedate(sample_fenku.getX_receivedate().substring(0, 10));
		}
		for (int i = 0; i < oldFields.length; i++) {
			Field oldField = oldFields[i];
			// 设置成可以操作private的变量
			oldField.setAccessible(true);
			for (int j = 0; j < newFields.length; j++) {
				Field newField = newFields[j];
				newField.setAccessible(true);
				if (mobans.contains(oldField.getName())) {

					// 是否是同一个属性

					if (oldField.getName().equals(newField.getName())
							&& !oldField.getName().equals("changed_on")
							&& !oldField.getName().equals("login_by")

							) {
						// 两个值是否相等

						try {
							if (null != oldField.get(sample_fenku)
									&& null != newField.get(sample)) {

								if (!oldField.get(sample_fenku).equals(
										newField.get(sample))) {
									sb.append(oldField.getName() + ":"
											+ oldField.get(sample_fenku) + " →"
											+ newField.get(sample) + "<br/>");

								} else {

								}
							}
							if (null == oldField.get(sample_fenku)
									&& null != newField.get(sample) &&!"".equals(newField.get(sample))) {
								if(!"".equals(newField.get(sample))){
									sb.append(oldField.getName() + ":"
											+ oldField.get(sample_fenku) + " →"
											+ newField.get(sample) + "<br/>");
								}

							}
							if (null != oldField.get(sample_fenku)
									&& null == newField.get(sample)) {
							}

						} catch (IllegalArgumentException
								| IllegalAccessException e) {
							// TODO Auto-generated catch block
							e.printStackTrace();
						}

					}

				}

			}
		}
		Sample_shenji sampleshenji = new Sample_shenji();
		Date date = new Date();

		sampleshenji.setName(sample.getLogin_by());
		sampleshenji.setTime(FORMAT_LONG.format(date));
		sampleshenji.setSample_number(sample.getSample_number());
		sampleshenji.setText_id(sample.getText_id());
		sampleshenji.setContent(sb.toString());
		insertSampleshenji(sampleshenji);
	}
时间: 2024-10-12 15:16:24

java 对JavaBean修改的审计的相关文章

java web项目修改项目名称

前几天在网上下了个项目,感觉名字长,所以想把项目改名字. 把项目导入到myeclipse中,将项目改名后, 还需要选中项目右键,properties ,修改项目的Context Root的名字. java web项目修改项目名称

Android 如何在java/native层修改一个文件的权限(mode)与用户(owner)?

前言 欢迎大家我分享和推荐好用的代码段~~ 声明 欢迎转载,但请保留文章原始出处: CSDN:http://www.csdn.net 雨季o莫忧离:http://blog.csdn.net/luckkof 正文 [Description] 如何在java/native层修改一个文件的权限(mode),用户(owner),组(group),以满足安全需要? [Keyword] 文件权限 文件用户 mode owner chomd chown permission [Solution] 在nativ

通过JAVA开发的修改AD用户的工具,修改AD用户密码时报错

今天遇到1个用户反馈的问题,他们通过JAVA开发了一个工具(修改AD用户密码),在此工具中如果将LDAP指向1台辅助DC时就报错,详细信息如下: 问题描述: ========= 通过JAVA开发的修改AD用户密码的工具,LDAP指向1台辅助域控时,修改用户密码报错,JAVA上报错如下: javax.naming.CommunicationException: simple bind failed: 10.10.10.23:636 [Root exception is javax.net.ssl.

Java Web JavaBean整理

JavaBean是一种Java组件技术,就其本质就是一个类,具有如下特点:1:实现可序列化2:有一个public的无参的构造方法3:所有实例变量都是private的4:为每一个属性提供getter和setter方法,如果属性为boolean类型,那么get变换成is,如:getNew() 变成 isNew()5:建议覆盖实现hashCode.equals.toString方法 JavaBean组件在Web开发上的标准用途,主要就是封装数据,并维护这些数据但在实际的开发中,通常把JavaBean组

JAVA通过SSL修改MS AD账户密码

我们上一篇文章介绍了JAVA通过SSL创建MS AD账户及设置密码,今天我们主要介绍JAVA通过SSL修改MS AD账户密码,关于证书介绍,我们上一篇已经介绍了,所以直接进入重点,上代码 我们准备修改上一篇介绍时创建的gaowenlong这个账户: 我们设置修改密码的账户 上代码 package com.ixmsoft.oa.util; import java.io.IOException; import java.io.UnsupportedEncodingException; import 

Java:JavaBean和BeanUtils

本文内容: 什么是JavaBean JavaBean的使用 BeanUitls 利用DBUtils从数据库中自动加载数据到javabean对象中 首发日期:2018-07-21 什么是JavaBean JavaBean是一种遵循开发规范的一种类.在JavaWeb开发中,经常用来存储实体信息,比如用户实体信息,实体信息不应该是散乱的,它应该是一个整体(就好像从数据库取出一个用户的年龄,id,手机等数据,这些数据应该归属于一个对象,而不应该用某个单纯变量来存储),所以才需要javabean.而为了规

Java Jaxb JavaBean与XML互转

1.Jaxb - Java Arcitecture for XML Binding 是业界的一个标准,是一项可以根据XML Schema产生Java类的技术. Jaxb2.0是Jdk1.6的组成部分.不需要在第三方Jar包的支持下即可完成Xml与JavaBean的相互转换. 2.重要概念: ·JAXBContext类,是应用的入口,用于管理XML/Java绑定信息. ·Marshaller接口,将Java对象序列化为XML数据. ·Unmarshaller接口,将XML数据反序列化为Java对象

IDEA 14 for Mac 提示要安装java 6的修改

参考:http://blog.csdn.net/xiejx618/article/details/17094791 修改:/Library/Java/JavaVirtualMachines/安装的JDK/Contents/Info.plist 更改 1 <key>JVMCapabilities</key> 2 <array> 3 <string>CommandLine</string> 删除,更改为下面内容 4 <string>JNI

Java 动态代理 修改成可以代理任意接口

一.概述 1.目标:把Proxy修改成可以代理任意接口及其任意方法 2.思路: (1)代理任意接口:把接口类型作为参数传给Proxy的newProxyInstance(Class interfze) (2)代理任意方法:用interfze.getMethods()取出所有方法,拼接实现方法的字符串 二.代码 1.Movable.java 2.Tank.java 3.Proxy.java 4.Client.java 1.Movable.java 1 package proxy; 2 3 publi