
/** 这里应用了JAVA的Marshall方法
* 对象转xml
* 返回xml
* @param tXLife
* @return
*/
public static String tXLiftToXML(com.TXLife tXLife){
String xml=""
try {
ByteArrayOutputStream out = new ByteArrayOutputStream()
JAXBContext jc = JAXBContext
.newInstance("com") //包的命名空间
Marshaller m = null
synchronized (jc) {
m = jc.createMarshaller()
}
m.setProperty(Marshaller.JAXB_ENCODING, "GBK")
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE)
m.marshal(tXLife, out)
xml=out.toString() //赋值
} catch (Exception e) {
xml=null
}
return xml
}
import java.beans.XMLDecoderimport java.beans.XMLEncoder
import java.io.BufferedInputStream
import java.io.BufferedOutputStream
import java.io.File
import java.io.FileInputStream
import java.io.FileNotFoundException
import java.io.FileOutputStream
import java.io.IOException
public class Object2XML {
public static String object2XML(Object obj, String outFileName)
throws FileNotFoundException {
// 构造输出XML文件的字节输出流
File outFile = new File(outFileName)
BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream(outFile))
// 构造一个XML编码器
XMLEncoder xmlEncoder = new XMLEncoder(bos)
// 使用XML编码器写对象
xmlEncoder.writeObject(obj)
// 关闭编码器
xmlEncoder.close()
return outFile.getAbsolutePath()
}
public static Object xml2Object(String inFileName)
throws FileNotFoundException {
// 构造输入的XML文件的字节输入流
BufferedInputStream bis = new BufferedInputStream(
new FileInputStream(inFileName))
// 构造一个XML解码器
XMLDecoder xmlDecoder = new XMLDecoder(bis)
// 使用XML解码器读对象
Object obj = xmlDecoder.readObject()
// 关闭解码器
xmlDecoder.close()
return obj
}
public static void main(String[] args) throws IOException {
// 构造一个StudentBean对象
StudentBean student = new StudentBean()
student.setName("wamgwu")
student.setGender("male")
student.setAge(15)
student.setPhone("55556666")
// 将StudentBean对象写到XML文件
String fileName = "AStudent.xml"
Object2XML.object2XML(student, fileName)
// 从XML文件读StudentBean对象
StudentBean aStudent = (StudentBean)Object2XML.xml2Object(fileName)
// 输出读到的对象
System.out.println(aStudent.toString())
}
}
思路很简单开发一个小型的WEB应用,部署在长沙和北京两台服务器上,安装个tomact就可以运行和部署了这个WEB应用主要做如下事情:接受请求,封装json串 (为什么JSON可以查一下网上大把的)1)收到http请求后,校验是否是来自另外一个服务器的请求(通过判断请求的IP地址是否否为另外一个服务器的IP地址即可)2)校验通过后读取本地服务器数据库,查询需要实时同步的数据表,查出需要同步的数据,组装成数据对象集(例如一个arraylist),然后转换为 json格式串,写入到response输出流中。
发请求获取返回结果,插入/更新数据库1)从reponse输出流中读取返回结果,将JSON串转化为对象集(网上大把的),然后开始更新/插入数据/删除数据——————————————————————————————————————由于涉及三种 *** 作类型 更新 删除 插入 ,所以可以分别实现三个servlet来分别负责:1)查询新增数据/插入新增对象2) 查询更新数据/更新新增对象3)查询删除数据/删除待删除的对象——————————————————————————————————————定时调度同步程序使用timer写个jar程序,循环每5分钟利用httpconnnection一次请求之行下插入/更新/删除的servlet___________________________________________________________________
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)