当前位置: 网学 > 编程文档 > JSP > 正文

OpenCms文件导入过程初探

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/17
下载{$ArticleTitle}原创论文样式

在OpenCms的安装过程中有一个文件导入的过程。由于工作原因,本人对这个导入过程做了点研究。有点收获写出来和大家共享。

在系统中安装过程是通过run_import.jsp文件(该文件位于sourcpath1\opencms_src_5.0.1\opencms\web\ocsetup)触发的。在该页中她使用了

<frameset rows="100%,*">

    <frame src="display_import.jsp" name="display">

    <frame src="about:blank" name="data">

</frameset>

这样的结构来完成导入和显示的功能。看到name为display很容易猜想他是用来向用户显示处理结果的,name 为data 的frame肯定是用来处理文件导入的了。这只是猜想,具体如何还有待证实。下面我们就去看看display_import.jsp这个文件。

在display_import.jsp服务端基本没有什么处理,客户端的处理倒是不少。这一句<body <% if(setupOk){ out.print("onload=''enable();''");} %>>倒是很重要。我们先来看看enable()这个函数。

/* indicates if the document has been loaded */

function enable()   {

            enabled = true;

            parent.data.location.href="data_import.jsp";

            document.forms[0].info.value = message;

  }

在这个函数中有parent.data.location.href="data_import.jsp";这一句。他把name 为data 的frame的location.href设为"data_import.jsp"。从文件名来看应该是由该文件处理文件的导入工作。到底是不是,我们进去看看。

在data_import.jsp页面中除了有个com.opencms.boot.CmsSetup的session范围的JavaBean外还有一个com.opencms.boot.CmsSetupThread的session范围的JavaBean。那么这个CmsSetupThread到底是什么玩意。去看源码吧!



package com.opencms.boot;



import java.io.File;

import java.io.IOException;

import java.io.PipedOutputStream;

import java.io.PrintStream;



// CmsSetupThread是一个线程。

public class CmsSetupThread extends Thread {



       public void run() {



        /* save the original out and err stream */

        m_tempOut = System.out;

        m_tempErr = System.err;



        /* redirect the streams */

        System.setOut(new PrintStream(m_pipedOut));

        System.setErr(new PrintStream(m_pipedOut));



        /* start the logging thread */

        m_lt.start();



        /* start importing the workplace */

        CmsMain.startSetup(basePath + "WEB-INF/ocsetup/cmssetup.txt", basePath + "WEB-INF/");



        /* stop the logging thread */

     &nbs

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号