【Java开源代码栏目提醒】:网学会员在Java开源代码频道为大家收集整理了ArchiveBackupAction.java提供大家参考,希望对大家有所帮助!
package com.stsc.archive.backup;
import javax.servlet.http.*;
import org.apache.struts.action.*;
import java.util.Properties;
import com.stsc.util.STPoolDataSet;
import com.stsc.util.STResultSet;
import com.stsc.util.STSecurity;
import com.stsc.archive.manage.*;
//import com.stsc.archive.xml.*;
import org.apache.struts.util.MessageResources;
//import java.awt.FileDialog;
//import javax.swing.JFileChooser;
//import java.io.*;
public final class ArchiveBackupAction extends Action
{
public ActionForward perform(ActionMapping mapping,
ActionForm form, HttpServletRequest req,
HttpServletResponse res)
{
ActionErrors errors = new ActionErrors();
if(!Constants.hasPopedom(req, 1))
{
System.out.println("不能进入:你没有
系统管理员这个权限!");
errors.add("err", new ActionError("error.nopopedom"));
saveErrors(req, errors);
return (new ActionForward(mapping.getInput()));
}
int serialno = ((BackupArchiveForm)form).getSerialNo();
String backupFilename = ((BackupArchiveForm)form).getBackupFilename();
System.out.println(backupFilename);
System.out.println(Integer.toString(serialno));
Properties dbBase = new Properties();
dbBase.setProperty("dsJndiName", Constants.ARCHIVE_DBSOURCE_KEY);
STPoolDataSet data = new STPoolDataSet();
String sql = "SELECT BackupRoute FROM fOfficalText";
STResultSet rs = data.getSTResult(sql, dbBase);
if (rs!=null && rs.next())
{
String backupRoute = rs.getString("BackupRoute");
backupFilename = backupRoute + "backupArchive\\" + backupFilename;
}
else
{
backupFilename = "backupArchive\\" + backupFilename;
}
// backupFilename = "c:\\xmlbackup\\archive\\" + backupFilename;
System.out.println(backupFilename);
//获得日志文件路径文件名,2003.6.6
String logfile = Constants.LOGFILEPATHNAME_KEY;
logfile = CommonSql.getBackupPath() + logfile; //add 6.6
System.out.println("logfile="+logfile);
// ActionErrors errors = new ActionErrors();
// CommonSql common
sql = new CommonSql();
// fArchiveVector myvector = commonsql.getArchive(serialno);
fArchive archive = new fArchive();
boolean ret = archive.getDataFromDb(serialno);
if(ret)
{
fArchiveVector myvector = new fArchiveVector();
myvector.add(archive);
System.out.println("myvector is ok!");
try
{
ReadWritefArchiveXML write
xml = new ReadWritefArchiveXML();
boolean ret1 = writexml.writeXMLFile(backupFilename, myvector);
//操作成功,写入日志
if(ret1)
{
LogBean log = new LogBean();
System.out.println(log.getDate());
System.out.println(log.getTime());
HttpSession session = req.getSession();
User userInfo = (User)(session.getAttribute(Constants.CURRENT_USER_KEY));
if(userInfo != null)
{
log.setUsername(userInfo.getEnterName());
System.out.println(userInfo.getEnterName());
}
log.setAction("文件表备份");
log.setContent("备份流水号为:" + serialno + "的数据到文件:" + backupFilename);
System.out.println(log.getContent());
AppendLogXml logxml = new AppendLogXml(logfile, log);
}
else
{
errors.add("abnormity", new ActionError("error.backup.abnormity"));
}
}catch(Exception e)
{
System.out.println("写"+backupFilename+"出错!");
errors.add("abnormity", new ActionError("error.backup.abnormity"));
}
}
else
{
System.out.println("写"+backupFilename+"出错!"+"没有找到数据");
errors.add("nodata", new ActionError("error.backup.nodata"));
}
if (!errors.empty())
{
saveErrors(req, errors);
return (new ActionForward(mapping.getInput()));
}
else
{
return mapping.findForward("success");
}
}
}