<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    拾貝殼

    走過的路
    隨筆 - 39, 文章 - 1, 評論 - 14, 引用 - 0
    數據加載中……

    javascript操作word控件

    <script language="javascript">
    //定義全局變量,用于清理工作
    var word;
    var doc;
    function editFile(){
    //調用word控件
     word= new ActiveXObject("Word.Application");
    //屏蔽“另存為”按鈕
     word.CommandBars("File").Controls(5).Enabled= false;
      word.CommandBars("File").Controls(5).visible= false;
    //屏蔽"另存為網頁"按鈕

     word.CommandBars("File").Controls(6).Enabled= false;
     word.CommandBars("File").Controls(6).visible= false;

     word.visible = true;
     // word.activate();
    try{
    //打開文件
      doc=word.Documents.Open("  //痕跡保留
      word.ActiveDocument.TrackRevisions   =true; 
    //切換成web視圖
      word.ActiveDocument.ActiveWindow.View.Type=3
     
          }catch(e){
           alert(e.message);
          };  
    }
    function myfinalize(){
    //文檔保存
        doc.save();
    //文檔關閉
       doc.close();
    //把屏蔽的功能打開
       word.CommandBars("File").Controls(5).Enabled= true;
      word.CommandBars("File").Controls(5).visible= true;
    //word退出
     word.quit();
     
    }
    //參考文檔
      
    http://bbs.hidotnet.com/712/ShowPost.aspx

    posted @ 2007-07-25 10:54 binge 閱讀(3163) | 評論 (0)編輯 收藏

    DB2

    原文:

    http://blog.csdn.net/huabingl/archive/2008/02/11/2088477.aspx

    posted @ 2007-07-09 16:20 binge 閱讀(339) | 評論 (0)編輯 收藏

    AXIS User Guide(1)

         摘要: AXIS User Guide(1)  閱讀全文

    posted @ 2007-01-03 20:54 binge 閱讀(1171) | 評論 (0)編輯 收藏

    Sliding into WebDAV

         摘要: Sliding into WebDAV  閱讀全文

    posted @ 2007-01-03 20:49 binge 閱讀(2420) | 評論 (0)編輯 收藏

    HibernateTemplate方法

         摘要: HibernateTemplate方法索引  閱讀全文

    posted @ 2006-12-26 15:47 binge 閱讀(4394) | 評論 (0)編輯 收藏

    小心對js函數命名,避免和它的內置函數重名

    最近又遇到個對js取名不帥導致錯誤的問題,特開此貼,以示警戒:
    不要把自己的js函數取成close(),open(),start()之類的名字!!

    window得resizeto和resizeby方法對模式窗口無效。

    posted @ 2006-12-10 13:25 binge 閱讀(719) | 評論 (0)編輯 收藏

    webdav使用指南

      最近研究了一下webdav,關于webdav的詳細信息可以在 google上搜索或者參看官方網站 筆者簡單的嘗試了它下面的slide和mod_dav.
    slide是jakarta下面的子項目,分為服務端和客戶端.個人認為服務端是專門為tomcat定做的一個webdav實現.關于slide,javaeye上有些討論,可以參考
    http://www.javaeye.com/t/5267.html.本人涉入的不是很深,中文問題讓我碰到了,slide提供2中存儲方式,文件形式和數據庫形式,限于時間,筆者沒有對數據庫形式進行測試.slide的工作目錄默認在服務器bin目錄下.
    用mod_dav來實現相比就簡單多了,如果你熟悉apache httpserver,應該很容易搞定.http://www.webdav.org/mod_dav/ 上的有部分資料.可以根據http://www.webdav.org/mod_dav/install.html 的講解來配置.apache server1.3以后(包括1.3)在發布的時候都自帶了mod_dav包.需要做的就是加載和配置它.
    LoadModule dav_module libexec/libdav.so
    AddModule mod_dav.c
    筆者在配置的時候由于沒有認真看文檔,犯了個小小的錯誤.所以注意下面的文字:
    "In the following example, the DAV lock database will be stored in the /usr/local/apache/var directory (which must be writable by the server process). The file's name will be DAVLock when mod_dav needs to create it.
    (actually, mod_dav will create one or more files using this file name plus an extension)

    DAVLockDB /usr/local/apache/var/DAVLock"
    然后你需要配置一個webdav的工作目錄,由于訪問apache服務的用戶會默認是nobody用戶,所以你至少得讓工作目錄對nobody可讀寫.在目錄的定義中加入DAV on這樣的屬性就 ok了
    eg:
    "Alias /pages /home/www/davhome
    <Location /pages>
        DAV On
    </Location>
    "
    測試webdav
    安裝完webdav后,你可以做簡單的測試:
       IE瀏覽器-〉文件-〉打開,然后輸入配置的url,客戶端API.
    如果是 java可以 采用slide的客戶端.(php用戶咋辦?).
    這個最新的客戶端使用的是最新的jdom,注意哦..
    參考資料:
    http://www.uplinux.com/www/net/02/131.shtml

    posted @ 2006-12-10 12:40 binge 閱讀(6004) | 評論 (0)編輯 收藏

    mvnforum權限系統分析

    ?? mvnforum是一個開源的論壇軟件.網址如下:
    http://sourceforge.net/projects/mvnforum/
    ?? 本文主要研究它的權限部分,以作為使用借鑒.
    ?? 這里有篇中文的文檔,以作參考:
    ? http://www.cn-java.com/target/news.php?news_id=3298


    權限部分的UML圖如下:
    ??

    數據流程:
    1,系統從OnlineUserManager這個入口進入.這個部件有個Map用來存儲當前的非過期用戶。OnlineUserManager會先根據當前時間和最后一個用戶的請求時間做對比,檢查是否有刷新過期用戶的必要,如果超過所設置的時間,那么先更新Map。然后OnlineUserManager根據提供的用戶的 sessionid和username在這個Map中查找。如果找到,則刷新該用戶的最后一次訪問時間;否則,OnlineUserManager調用OnlineUserFactory部件創建該OnlineUser,并把這個OnlineUser存入Map之中。
    判對用戶是否過期的原理是:從OnlineUser的OnlineUserAction中取出最后一次的訪問時間和當前時間做對比.
    2,OnlineUserFactory負責創建OnlineUser并為該OnlineUser提供完整的權限信息.OnlineUser包括3大部分信息,一部分是用戶的基本信息,一部分是用戶的權限信息,一部分是用戶的在線信息.在線信息由OnlineUserManager負責管理,其他2部分信息由OnlineUserFactory從持久層獲得.
    獲得權限信息并把它設置到OnlineUser部件上,提供給OnlineUserManager管理.
    3.CNMPermissionFactory類似我們常說的service.主要負責和持久層通信,最終返回一個CNMPermission部件供OnlineUserFactory合成OnlineUser部件.在下面的章節里,筆者會對他細化討論.
    權限結構:
    用來實現用戶權限的主要的是CNMPermission接口和他是2個子類AbstractPermission和CNMPermissionImpl.CNMPermission接口負責定義權限有關的常量和對外API.AbstractPermission設置了保存權限信息的變量并實現了CNMPermission接口中定義的抽象方法,因此,筆者把這個抽象類叫做鑒權類.CNMPermissionImpl 則負責對AbstractPermission使用的變量進行設值,因此,筆者稱之為賦權類.
    先看看AbstractPermission的結構。這里涉及到這么幾個概念:全局權限,特定權限,單個權限,組合權限。
    全局權限用true/false來設置。
    特定權限是指某一個動作所作用的不同的對象。比如:某用戶只能將寫操作作用于1,2,4這3個論壇板塊之上。表示為這個特定權限內部的ArrayList容器中只有1,2,4三個編號。
    單個權限是指單個動作。比如讀操作。
    組合權限是為了方便設置提供的對單個權限的組合。比如對某用戶一次設置某板塊的“讀”和“發布”2種權限。
    前2種權限是一個緯度的劃分,后2個是另一個緯度的劃分。
    如何鑒權?
    鑒權的接口都會在CNMPermission中定義。對全局權限,直接返回對應的標志位的值,對于特定權限,則先判斷是否特定權限全開,否,則然后判斷其ArrayList中是否包含對應的對象編號。
    如何賦權?
    這里要承接到上述數據流程的第三步。由CNMPermissionFactory根據一定先后循序(其實無關順序,因為采用的為真覆蓋原則,即持久層返回的權限都是真值,后面的真值對前面的真值可覆蓋)從持久層獲得所有的全局權限和特定權限。mvnforum只有用戶和角色2種概念(當然也可以擴展),因此它的順序是:用戶全局全縣-〉用戶特定權限-〉角色全局全縣-〉角色特定權限。當然無論哪一部都是對同一個CNMPermission進行操作。
    無論在設置全局權限還是特定權限的時候都可能會遇到所定義的組合權限。具體的組合權限拆分是由CNMPermissionImpl來做的.
    相關的表結構:
    ?? member表,存貯用戶基本信息。
    ?? membergroup ,存儲用戶和組(角色)的對應關系。
    ?? groups表,存儲組/角色的基本信息
    ?? grouppermission,存儲組/角色的全局權限,字段為groupid permissionid
    ?? groupforum,存儲組/角色 的論壇權限, 字段為groupid ,forum,permissionid
    ?? memberpermission 存貯用戶的全局權限,字段為 memberid permissionid
    ?? memberforum 存貯用戶的論壇權限,字段為memberid ,forum,permissionid


    ? 修改于2006/12/16? 晚8時

    posted @ 2006-09-19 10:07 binge 閱讀(1545) | 評論 (0)編輯 收藏

    Log4j/common log和各種服務器集成的問題

    ? 目前的很多商業和非商業的服務器中間件都默認集成了common-log甚至是log4j.因此當我門把我們的應用發布在上面的時候,都會遇到關于log方面的問題.
    ? 1.webshpere下面集成log4j.
    ? "WebSphere的類裝入器方式有兩種方式:PARENT_FIRST和PARENT_LAST。默認值是PARENT_FIRST,這種方式在載入當前classpath的類之前先載入其上一級classloader能夠裝入的類。這是標準的JVM classloader的默認策略。如果采用PARENT_LAST,則過程正好相反,即先載入當前classpath的類,再載入其上一級classloader能夠裝入的類,這樣可以用當前classpath中更新的類覆蓋其上一級classloader的相同類。受類裝入器方式影響的classloader包括application classloader、WAR classloader以及共享類庫的classloader。"
    ?因為websphere在共享類庫的classloader中有一套common logging,但是確沒有合適配置文件.如果我們把配置正確的log4j.properties文件放在共享類庫下,我們會發現log4j可以運行.但還有另外一個很通用的方式--改變webshpere的類庫加載順序.我們讓他先加載我們web應用所需的類庫.即我們把web應用的加栽方式改為PARENT_LAST.
    ? 哎,盡管我小心的提防,今天還是中招了,在我的配置里,log4j的配置文件只能讀取一次,不能一個應用一個配置文件.為了讓它加載自己的配置,可以自己寫(或者用spring的)servlet/listener去手動加載這個配置文件.
    ?2.jboss下面的集成log4j
    ? 大家可能都曾在為jboss下面配置log4j郁悶過.jboss比webshpere走的還遠.無論你的項目是否使用了log4j,jboss在自己啟動的時候就已經運行他了.也就是說在jboss加載自己共享類庫的時候,已經讀取了自己log4j.xml文件配置.這個文件在conf中可以找到.如果你需要為你的應用單獨配置一個catagory,你需要直接在這里配置.
    ???在webloader裝載應用的時候,如果應用中有log4j的包,似乎總出現appender已被占用的問題.筆者把log4j的包連帶應用中的log4j配置文件一并移去,世界清凈了.
    關于為了讓應用自帶的log4j配置文件生效,有人建議修改
    ?<attribute name="Java2ClassLoadingCompliance">false</attribute>

    ?<attribute name="UseJBossWebLoader">false</attribute>
    這兩個屬性.
     3.sunone下面集成log4j
    ??? 距離上次用SunOne服務器已經好長時間了,似乎sunOne的log有些類似jboss,也是一個服務器的log集中管理.由于使用的不是很多,暫且在這里站個位子.
    隨手貼點關于log的信息:
    http://wiki.apache.org/jakarta-commons/Logging/FrequentlyAskedQuestions
    http://www-128.ibm.com/developerworks/cn/websphere/library/techarticles/0408_baigang/part3.html

    ?

    posted @ 2006-09-05 17:23 binge 閱讀(1489) | 評論 (1)編輯 收藏

    OpenLDAP快速上手

    OpenLDAP 快速上手

    ?? Ben 的項目里面要用到 OpenLDAP, 我的項目里面也要用到 LDAP, 所以這 2 天集中看了一下 LDAP 相關的內容。做了個筆記,也算是為人類知識的積累做點或有或無的貢獻。

    ?? OpenLDAP 的官方站點是 http://www.openldap.org

    ?????? 上面有個 QuickStart, 我將大致按照這個來講解。

    一、 安裝
    在官方站點上發布的是 linux/unix 下的 OpenLDAP 源文件,當然也很容易找到 windows 系統下的版本。筆者學習安裝的就是 windows 版本的。

    二、 配置

    OpenLDAP 2 個用戶最關注的配置文件。

    一個是 slapd.conf 在他里面定義了最基本的 DN 以及管理員的賬號和密碼。

    另一個是 LDIF 的文件。在它里面可以配置所有的用戶和組織。

    1、? 我們先來了解 LDAP 的相關概念。
    我們知道 LDAP 的全稱為( Lightweight Directory Access Protocol ),即輕量級目錄訪問協議。

    Ldap 是怎樣的一個結構呢 ?用官方的話說:“ In LDAP, directory entries are arranged in a hierarchical tree-like structure. Traditionally, this structure reflected the geographic and/or organizational boundaries. Entries representing countries appear at the top of the tree. Below them are entries representing states and national organizations. Below them might be entries representing organizational units, people, printers, documents, or just about anything else you can think of.. ”他是一個樹狀的結構。每一個節點被稱為一個 Entry 。這些 Entry 有著有趣的含義。

    下面是他的 2 個實例。一個反映了 geographic ,一個反映了 organizational

    ?????????????????????????????????????????????????????????? 傳統命名

    ?????????????????????????????????????????????????????????? 網絡命名

    我們來看看個個節點的定義方式。

    每個 Entry 都有一個自己得一個標示 ,我們把他叫 DN(Distinguished Name) ,這個 dn 包含了一個 RDN Relative Distinguished Name )。在上面的第二個圖例 中,Barbara Jensen的RDN是 uid=babs,他的dn是 uid=babs,ou=People,dc=example, dc=com。

    每個節點都需要一個類別 這個類別信息用objectClass來表示。ObjectClass就是該節點的schema,他定義了該節點該有和不該有的屬性。默認的objectClass都在schema/core.schema中有定義。如果在你的配置過程中出現了關于找不到objectClass的問題,您不妨參看一下這里面有沒有你用到的objectClass . 在schema文件夾下還有其他一些schema文件,你也可以定義自己的schema.想要加載其他的schema,你可以在slapd.conf文件中用include加入.如:include??./schema/core.schema. 為了方便識別,其實我們在DN里面用的都是objectClass的簡寫形式。如:ou代表organizationUnit,c代表country,st代表state,dc代表??等。

    2、? 來看看 slapd.conf 這個文件
    這個文件的主要信息是如下幾行:

    database bdb

    suffix "dc=<MY-DOMAIN>,dc=<COM>"

    rootdn "cn=Manager,dc=<MY-DOMAIN>,dc=<COM>"

    rootpw secret

    directory /usr/local/var/openldap-data

    定義了數據庫,最基本的后綴,管理員的 dn 和密碼,以及數據存放路徑。

    編輯好這個文件,我們就可以啟動了。

    如果你把 ldap 安裝為 windows 服務,你可以像我一樣啟動:

    net start OpenLDAP-slapd

    ?

    3、? 我們主要操作的就是這個 LDIF 文件
    我們需要在這個文件里面加入所需要的 dn.

    注意,因為我們在 slapd.conf 中定義了一個 base dn 和一個管理員 dn ,所以我們需要首先把這 2 dn 加進來。

    dn: dc=<MY-DOMAIN>,dc=<COM>

    objectclass: dcObject

    objectclass: organization

    o: <MY ORGANIZATION>

    dc: <MY-DOMAIN>

    ?

    dn: cn=Manager,dc=<MY-DOMAIN>,dc=<COM>

    objectclass: organizationalRole

    cn: Manager

    保存為 ldif 后綴的文件。然后我們用命令把這些信息加到 ldap 中去:

    ldapadd -x -D "cn=Manager,dc=<MY-DOMAIN>,dc=<COM>" -W -f example.ldif

    讓我們來查看以下我們的設置是否出現問題:

    ldapsearch -x -b 'dc=example,dc=com' '(objectclass=*)'

    上面的是 linux/unix 下的命令, windows 下我們需要做點更改:

    ldapsearch -x -b dc=example,dc=com (objectclass=*)

    對,就是去掉引號。

    為了察看方便,筆者建議使用 GUI 工具來查看,比如筆者使用的 Softerra LDAP Browser 2.6

    ?

    三、 java 集成
    我們的 ldap Server 已經搭建起來了,我們需要在我們的 java 程序中訪問這個服務。

    Openldap.org 上有沒有講?有講?下面介紹的 JLDAP 就是干這個的。

    我們需要看一下“ Java LDAP Overview ”里面的內容。內容不是很多,但很實用。

    要在 java 中訪問 ldap ,我們需要一套 api, 你可以在下面的網站上獲得:

    http://developer.novell.com/wiki/index.php/LDAP_Classes_for_Java

    在下在的文件里面有許多的例子,在 novell 的網站上也有很多的例子。我就不講了。 Try yourself

    posted @ 2006-08-26 08:37 binge 閱讀(9159) | 評論 (7)編輯 收藏

    僅列出標題
    共4頁: 上一頁 1 2 3 4 下一頁 
    主站蜘蛛池模板: 91人成网站色www免费下载| 亚洲av永久无码精品漫画| 2021在线观看视频精品免费| 另类图片亚洲校园小说区| 亚洲人成在线播放| 亚洲成A人片777777| 久久久久噜噜噜亚洲熟女综合| 日韩免费视频播播| 黄页网站免费观看| 免费A级毛片在线播放| 国产精品永久免费视频| 亚洲国产成人精品无码区花野真一 | 在线观看免费人成视频| 久久青草精品38国产免费| 国产日韩久久免费影院 | 免费人成在线观看网站品爱网日本| 两个人的视频高清在线观看免费| 一级毛片免费播放| 野花香高清在线观看视频播放免费| 日本精品久久久久久久久免费 | 日本免费中文字幕在线看| 69式互添免费视频| 91久久精品国产免费一区| 国产午夜无码精品免费看| 国产精品永久免费视频| 国产成人亚洲精品无码AV大片| 亚洲欧美不卡高清在线| 亚洲va久久久久| 精品丝袜国产自在线拍亚洲| 亚洲成人福利在线观看| 亚洲免费视频观看| 亚洲六月丁香六月婷婷色伊人 | 日韩一级视频免费观看| 色播在线永久免费视频| 日本19禁啪啪无遮挡免费动图| 免费激情视频网站| 四虎影视永久免费观看网址| 亚洲 自拍 另类小说综合图区| 亚洲精品国产精品国自产观看 | 国产中文字幕在线免费观看 | 久久久久亚洲Av片无码v|