亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? exportwebhandler.java

?? java servlet著名論壇源代碼
?? JAVA
字號:
/*
 * $Header: /cvsroot/mvnforum/mvnforum/src/com/mvnforum/admin/ExportWebHandler.java,v 1.3 2004/06/27 01:20:38 skoehler Exp $
 * $Author: skoehler $
 * $Revision: 1.3 $
 * $Date: 2004/06/27 01:20:38 $
 *
 * ====================================================================
 *
 * Copyright (C) 2002-2004 by MyVietnam.net
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or any later version.
 *
 * All copyright notices regarding mvnForum MUST remain intact
 * in the scripts and in the outputted HTML.
 * The "powered by" text/logo with a link back to
 * http://www.mvnForum.com and http://www.MyVietnam.net in the
 * footer of the pages MUST remain visible when the pages
 * are viewed on the internet or intranet.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 *
 * Support can be obtained from support forums at:
 * http://www.mvnForum.com/mvnforum/index
 *
 * Correspondence and Marketing Questions can be sent to:
 * info@MyVietnam.net
 *
 * @author: Igor Manic   imanic@users.sourceforge.net
 */
package com.mvnforum.admin;

import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Locale;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.mvnforum.MVNForumConfig;
import com.mvnforum.auth.*;
import net.myvietnam.mvncore.exception.*;
import net.myvietnam.mvncore.filter.EnableHtmlTagFilter;
import net.myvietnam.mvncore.util.ParamUtil;

/**
 * @author <a href="mailto:imanic@users.sourceforge.net">Igor Manic</a>
 * @version $Revision: 1.3 $, $Date: 2004/06/27 01:20:38 $
 * <br/>
 * <code>ExportWebHandler</code> class implements methods that process HTTP
 * requests for export. Data could be exported to MVN Forum XML file conforming
 * <a href="http://www.mvnforum.com/mvn.dtd">http://www.mvnforum.com/mvn.dtd</a>,
 * or to MVN Forum backup ZIP file.
 *
 */
class ExportWebHandler {

    /** Message log. */
    private static Log log = LogFactory.getLog(ExportWebHandler.class);

    /** Cannot instantiate. */
    private ExportWebHandler() {
    }

    /**
     * Processes export requests made from corresponding HTML page.<br/>
     * Request should contain the parameter <code>ExportType</code> that tells
     * us what type of destination backup file user wants.
     *
     * @param request <code>HttpServletRequest</code> of the request.
     *
     * @throws DatabaseException
     * @throws AuthenticationException
     * @throws AssertionException
     * @throws ExportException
     */
    public static void exportXmlZip(HttpServletRequest request)
    throws DatabaseException, AuthenticationException, AssertionException, ExportException {
        OnlineUserManager onlineUserManager = OnlineUserManager.getInstance();
        OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
        MVNForumPermission permission = onlineUser.getPermission();
        permission.ensureCanAdminSystem();

        int      logonMemberID   = onlineUser.getMemberID();
        String   logonMemberName = onlineUser.getMemberName();
        Calendar exportTime      = Calendar.getInstance();
        String   exportIP        = request.getRemoteAddr();

        int exportType = MVNForumConfig.IMPORTEXPORT_TYPE_MVN_XML; //default
        try {
            exportType = ParamUtil.getParameterInt(request, "ExportType",
                                   MVNForumConfig.IMPORTEXPORT_TYPE_MVN_XML);
        } catch (BadInputException e) {
            exportType = MVNForumConfig.IMPORTEXPORT_TYPE_MVN_XML; //default;
        }

        String timestamp = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss", Locale.US).format(exportTime.getTime());
        String filename = MVNForumConfig.BACKUP_FILE_PREFIX + timestamp +
                          ((exportType==MVNForumConfig.IMPORTEXPORT_TYPE_MVN_ZIP)?".zip":".xml");
        log.debug("Will make export/backup file: " + filename);

        switch (exportType) {
            case MVNForumConfig.IMPORTEXPORT_TYPE_MVN_XML:
                ExportWebHelper.exportXml(filename, request,
                                          logonMemberID, logonMemberName,
                                          exportTime, exportIP);
                break;
            case MVNForumConfig.IMPORTEXPORT_TYPE_MVN_ZIP:
                ExportWebHelper.exportZip(filename, request,
                                          logonMemberID, logonMemberName,
                                          exportTime, exportIP);
                break;

            default:
                log.error("exportXmlZip: invalid exportType = " + exportType);
                throw new AssertionException("Invalid export type specified.");
        }
    }

    public static void getExportXmlZip(HttpServletRequest request, HttpServletResponse response)
    throws DatabaseException, AuthenticationException, AssertionException {
        OnlineUserManager onlineUserManager = OnlineUserManager.getInstance();
        OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
        MVNForumPermission permission = onlineUser.getPermission();
        permission.ensureCanAdminSystem();

        String filename = EnableHtmlTagFilter.filter(request.getParameter("filename"));
        if ((filename==null) || (filename.equals(""))) {
            log.error("Missing a name of a file to be downloaded.");
            throw new AssertionException("Missing a name of a file to be downloaded.");
        } else {
            File f=new File(MVNForumConfig.getBackupDir() + File.separatorChar + filename);
            if ((!f.exists()) || (!f.isFile())) {
                log.error("Can't find a file to be downloaded (or maybe it's directory).");
                throw new AssertionException("Can't find a file to be downloaded (or maybe it's directory).");
            } else {
                try {
                    response.setContentType("application/octet-stream");
                    response.setHeader("Location", filename);
                    response.setHeader("Content-Disposition", "attachment; filename=" + filename);
                    int len=(int)f.length();
                    if (len>0) response.setContentLength(len);

                    BufferedInputStream inputStream = new BufferedInputStream(
                        new FileInputStream(f), 1024/*buffer size*/);
                    BufferedOutputStream outputStream= new BufferedOutputStream(
                        response.getOutputStream(), 1024/*buffer size*/);
                    response.setBufferSize(1024);
                    //when we start download, we cannot redirect or raise exceptions
                    sendToUser(inputStream, outputStream);

                    if (inputStream!=null) {
                        try { inputStream.close(); } catch (IOException e) {}
                        inputStream=null;
                    }
                    if (outputStream!=null) {
                        try {
                            outputStream.flush();
                            outputStream.close();
                        } catch (IOException e) {}
                        outputStream=null;
                    }
                } catch (FileNotFoundException e) {
                    log.error("Can't find a backup file on server.", e);
                    throw new AssertionException("Can't find a backup file on server.");
                    //rethrow - the user will be redirected to errorpage
                } catch (IOException e) {
                    log.error("Error while trying to send backup file from server.", e);
                    throw new AssertionException("Error while trying to send backup file from server.");
                    //rethrow - the user will be redirected to errorpage
                } finally {
                    f=null;
                }
            }
        }
    }

    public static void deleteExportXmlZip(HttpServletRequest request)
    throws DatabaseException, AuthenticationException, AssertionException {
        OnlineUserManager onlineUserManager = OnlineUserManager.getInstance();
        OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
        MVNForumPermission permission = onlineUser.getPermission();
        permission.ensureCanAdminSystem();

        String filename = EnableHtmlTagFilter.filter(request.getParameter("filename"));
        if ((filename==null) || (filename.equals(""))) {
            log.error("Missing a name of a file to be deleted.");
            throw new AssertionException("Missing a name of a file to be deleted.");
        } else {
            File f=new File(MVNForumConfig.getBackupDir() + File.separatorChar + filename);
            if ((!f.exists()) || (!f.isFile())) {
                log.error("Can't find a file to be deleted (or maybe it's directory).");
                throw new AssertionException("Can't find a file to be deleted (or maybe it's directory).");
            } else {
                f.delete(); f=null;
            }
        }
    }

    /**
     * Sends (downloads) a file from server to the user.
     *
     * @param inputStream <code>BufferedInputStream</code> connected to the backup file that was made on server.
     * @param outputStream <code>BufferedOutputStream</code> connected to the <code>HTTP response</code>.
     */
    private static void sendToUser(BufferedInputStream inputStream, BufferedOutputStream outputStream) {
        //this method should not throw any exception, since we are now starting commiting output
        try {
            //used stream objects are already buffered, so I won't do buffering
            int b=0;
            while ((b=inputStream.read()) >=0) {
                outputStream.write(b);
            }
        } catch (IOException e) {
            try {
                outputStream.write("FATAL ERROR. Can't continue download.".getBytes());
            } catch (IOException ee) {
                /* Nothing we can do now. Since output was already commited, we
                 * can't raise exception here.
                 */
            }
        }
    }


}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女视频黄久久| 蜜桃久久久久久久| 亚洲成人精品影院| 丰满少妇久久久久久久| 9191成人精品久久| 伊人色综合久久天天人手人婷| 日韩国产精品91| 91视视频在线观看入口直接观看www | av一区二区不卡| 日韩色在线观看| 一区二区三区国产精华| 国产九色sp调教91| 欧美一级一级性生活免费录像| |精品福利一区二区三区| 久久99久久精品| 欧美高清你懂得| 亚洲国产日日夜夜| 91福利国产成人精品照片| 国产精品麻豆一区二区| 国产乱色国产精品免费视频| 欧美日韩国产天堂| 亚洲午夜一二三区视频| 一本色道久久综合亚洲精品按摩| 久久精品人人做人人爽人人| 久久99久久99| 日韩欧美另类在线| 免费成人在线影院| 精品国产伦一区二区三区观看体验| 亚洲午夜影视影院在线观看| 欧洲色大大久久| 国产乱理伦片在线观看夜一区| 日韩欧美激情一区| 麻豆极品一区二区三区| 日韩精品一区二区三区在线播放 | 91精品欧美久久久久久动漫 | 欧美日韩aaaaaa| 亚洲韩国精品一区| 欧美少妇xxx| 一区二区三区在线高清| 欧美日韩一区二区电影| 日韩—二三区免费观看av| 日韩午夜精品电影| 国产老女人精品毛片久久| 久久久久久电影| 播五月开心婷婷综合| 亚洲欧美日韩在线不卡| 欧美日韩视频在线第一区| 性久久久久久久| 亚洲精品一区二区三区精华液| 国模一区二区三区白浆| 久久精品网站免费观看| 99久久99久久精品免费看蜜桃| 亚洲品质自拍视频| 欧美日韩国产在线播放网站| 久草中文综合在线| 国产精品国产三级国产有无不卡 | 欧美一区二区视频在线观看| 久久精品99国产精品| 欧美极品美女视频| 欧美日韩色一区| 国产乱国产乱300精品| 成人免费在线观看入口| 欧美一区二区三区视频在线| 国产伦精品一区二区三区免费迷| 国产精品美女久久久久aⅴ| 色成年激情久久综合| 久久精品久久综合| 亚洲九九爱视频| 精品人在线二区三区| 91视频免费播放| 国产在线不卡一区| 亚洲国产人成综合网站| 久久久久久一二三区| 欧美中文字幕不卡| 国产精品1区2区3区在线观看| 亚洲自拍偷拍综合| 国产女主播视频一区二区| 欧美乱熟臀69xxxxxx| 高清免费成人av| 蜜桃av一区二区在线观看| 亚洲精品视频一区二区| www国产成人免费观看视频 深夜成人网| 99久久国产免费看| 国产在线一区二区| 日韩在线一区二区| 亚洲免费资源在线播放| 精品粉嫩aⅴ一区二区三区四区| 久久精品在这里| 欧美色精品天天在线观看视频| 懂色一区二区三区免费观看| 日韩黄色免费电影| 亚洲美腿欧美偷拍| 国产精品美女久久久久久2018| 欧美电视剧在线观看完整版| 欧美无人高清视频在线观看| k8久久久一区二区三区| 国产一区二区免费看| 青娱乐精品视频| 亚洲国产成人av好男人在线观看| 亚洲欧洲精品天堂一级| 日本一区二区在线不卡| 国产调教视频一区| 久久久久久久久伊人| 欧美xxx久久| 欧美xxxxx牲另类人与| 欧美久久久久免费| 欧美日韩黄色影视| 欧美日韩国产成人在线免费| 色哟哟精品一区| 色婷婷精品久久二区二区蜜臂av| 成人伦理片在线| a亚洲天堂av| av一区二区三区黑人| 99久久久免费精品国产一区二区| 国产91高潮流白浆在线麻豆 | 中文字幕五月欧美| 国产日韩欧美高清| 国产精品九色蝌蚪自拍| 中文字幕在线不卡一区 | 在线免费观看日本欧美| 91成人国产精品| 欧洲在线/亚洲| 欧美日韩在线精品一区二区三区激情 | 91精品国产综合久久精品性色| 欧美色区777第一页| 欧美精品 日韩| 日韩无一区二区| 26uuu精品一区二区在线观看| 久久精品欧美一区二区三区不卡| 久久九九久精品国产免费直播| 国产日韩精品一区二区三区| 中文字幕一区二区三区四区| 亚洲欧美一区二区三区孕妇| 亚洲综合丁香婷婷六月香| 日韩高清不卡一区| 国产精品亚洲综合一区在线观看| 波多野结衣精品在线| 欧美三级电影一区| 亚洲精品一区二区三区福利| 中文字幕欧美一区| 午夜精品久久久久久久99水蜜桃| 麻豆国产一区二区| 99久久精品国产一区二区三区 | 精品国产网站在线观看| 国产欧美日韩在线视频| 亚洲女同女同女同女同女同69| 日日摸夜夜添夜夜添亚洲女人| 国产原创一区二区三区| 99久久精品一区| 日韩一区二区三区视频在线观看| 国产日本一区二区| 婷婷开心激情综合| 成人在线视频一区二区| 在线观看免费视频综合| 久久综合九色综合欧美就去吻| 亚洲欧洲av在线| 欧美日韩国产色站一区二区三区| 精品国产乱码久久久久久蜜臀| 亚洲欧美在线观看| 国产在线播放一区二区三区| 91精彩视频在线观看| 久久久久久久久久看片| 亚洲国产精品久久人人爱| 国产精品 欧美精品| 欧美欧美欧美欧美首页| 国产精品日韩精品欧美在线| 美美哒免费高清在线观看视频一区二区| 成人性生交大片免费| 欧美不卡激情三级在线观看| 亚洲激情在线播放| yourporn久久国产精品| 精品国产乱码久久久久久图片 | 亚洲三级在线观看| 激情伊人五月天久久综合| 欧美日韩午夜在线| 国产精品久线在线观看| 久久丁香综合五月国产三级网站| 色噜噜偷拍精品综合在线| 国产精品女主播av| 国内精品久久久久影院色| 欧美一区二区成人| 亚洲成人免费观看| 欧美亚洲动漫另类| 亚洲激情欧美激情| 色综合久久中文综合久久牛| 国产女主播在线一区二区| 国内精品免费在线观看| 精品理论电影在线观看| 免费成人在线播放| 日韩欧美中文字幕制服| 日韩福利视频导航| 91精品国产综合久久婷婷香蕉 | 午夜精品福利久久久| 色综合久久久久综合体| 1024成人网| 91亚洲大成网污www| 一区视频在线播放| 91欧美激情一区二区三区成人| 中文字幕中文字幕一区二区| 成人av影视在线观看|