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

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

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

    隨筆 - 11, 文章 - 1, 評論 - 20, 引用 - 0
    數據加載中……

    2006年5月17日

    小經驗兩則

    1.Oracle 8i 下使用最新的oracle thin driver時用DatabaseMetaData獲取主鍵等信息時,需要將
    connection.getMetaData().getPrimaryKeys(connection.getCatalog(),null,tableName);
    中的tableName轉為大寫,否則無法得到數據。

    2.正則表達式中,需要以","分割字符串,但是要分割的字串中含有","號,為了避免沖突,引入前置轉義字符"\",這樣的正則怎么寫呢?
    例如:
    String txt = "STATE_COUNTY=kj\\\\,,ADDR_LINE1=l=j,ADDR_LINE2=mj\n\n,ADDR_LINE3=n\\,o,\n\nADDR_LINE4=\np";
    需要把鍵值對切分出來:
    ?Pattern.compile("[^\\\\],)");
    這個是不行的,會將","號前一個字符消耗掉。

    ?Pattern.compile("(?![\\\\]),)");
    也不行
    Pattern?p?=?Pattern.compile,",(?![\\\\])");
    倒是可以,但是把轉義字符放后面似乎有點詭異。
    找了一個折衷辦法,不切割使用正則獲取"鍵=值"子串:
    Pattern?p?=?Pattern.compile("\\w+\\s*=.*?[,]*.*?(?=,|$)",Pattern.DOTALL);
    但是還是帶來了子串中不能含有"="的問題。
    最后查了一個JDK1.4 DOC,發現了一個反向的非匹配串寫法:
    Pattern?p?=?Pattern.compile("(?<!\\\\),\\s*");
    這樣一來就解決了以上問題。

    posted @ 2006-08-03 09:54 wolfsquare 閱讀(555) | 評論 (0)編輯 收藏

    回復 亂彈權限系統續一

    亂彈權限系統續一
    原文在這:http://www.tkk7.com/RongHao/archive/2006/07/03/56258.html

    仔細分析一,二,三,四權限背后的實質可以發現:
    一系統權限的概念有一些冗余,很難想象這樣一種情況:你已經有了子系統下的很多權限,結果因為沒有模塊權限而使得無法使用該模塊進行任何操作,分配權限的人要非常小心才行.這個世界已經夠復雜了,不要再給開發,部署人員增加復雜度了.很明白的,這個權限是不需要資源的權限
    二數據庫操作權限的概念,有一點疑惑,不知道為什么要建立這樣的一個概念,和行級權限有什么區別呢? 從你的上下文理解來看,似乎是這樣子的:有操作X表的業務,如果用戶有增加權限,則可以任意增加數據,如果用戶有編輯權限,則可以編輯任意數據.實際上對應標準權限模型為:不需要限定資源的操作,即不需要資源標識的權限.
    三行級數據權限,這個概念很直白,對應標準權限模型就是: 資源(行數據)+操作
    四列級數據權限,由于不是針對某特定行數據,所以它也是無資源型權限
    就這樣,所有的權限最終可劃為需要資源標識和不需要資源標識,換句話說,所有權限可劃分為控制某些集合的權限和控制單體的權限兩種,在某些時候,也稱之為 功能權限和數據權限


    談到把權限分給別人,很自然的就是如何控制權限的權限的問題了,很拗口,是吧?仔細想想,這樣很直觀,也沒有什么后遺癥,權限自遞歸控制和自解釋,真是一個完美的循環.
    有愛思考的同學想深了,會覺得非常麻煩,難實現.當然,概念上一回事,具體實現上可以是另一回事,可以做很多的變通來達到目的.只要保持概念上的簡單性,就足以使得非常多的人得以解脫了。

    另外,作為架構設計者,非常非常不贊成動輒就把很底層的概念扯進高層設計中(例如行級,數據庫什么的),很容易把自己和別人搞胡涂。
    可以最近狀態不好,要不好好blog一篇,8過,有句話怎么說來著:“都素那浮云而已。。。”

    posted @ 2006-07-04 22:45 wolfsquare 閱讀(1938) | 評論 (1)編輯 收藏

    不完美的世界-看到了IOC工具的又一個發展方向

         摘要: 在本篇文章中,作者在一個系統的構建中深度地被各種配置邏輯所困擾,由此發現了IOC工具(如Spring,Nuts等)的又一個發展方向。  閱讀全文

    posted @ 2006-06-08 00:30 wolfsquare 閱讀(1942) | 評論 (7)編輯 收藏

    結合WebWork實現高復用度系統的探索(上)

    需求: 某機構體系下,機構類型分為子公司,部門,人員等,以后可能在某機構或者其子孫機構下可能會再分出其他子機構類型,希望在增加新類型過程中,盡可能的避免修改已有代碼。

    情況:子公司,部分,人員等已完成所有編碼(界面,商業邏輯,數據邏輯)
    變化:需要把這個機構體系組成為一顆樹狀結構
    策略:鑒于除了樹結構外的其他部分代碼已經完成,那么應該首先保持這些代碼不予改動。復用修改的優先級從高到低的順序如下:
    ? 界面×JSP,Action層
    ? 商業邏輯 Service層
    ? 數據邏輯層
    ? 數據物理層
    有經驗的人知道,大部分情況下,越是下層的改動,越是影響越廣泛(注意不是修改難度),所以我們只有在無計可施的情況下,才進行低層的修改。

    分析: 回到我們的需求,從功能上看,維護一個組織機構的需求,已經涵蓋了每一個子結構的維護需求,以部門的建立為例,在新建一個部門時,同時也必須建立機構樹上的節點,
    ?這樣,如果需要直接使用原有的創建部門的所有代碼,需要在其上加上創建組織機構所需要的父節點,以及當前節點名稱信息(在這里department的增加界 面JSP是需要修改的,不過實際上我沒有修改該文件,而是利用DHTML來動態加入需要新增加的信息),然后提交給原創建部門的URI (departmentSave.action)和組織機構創建URI(orgCreate.action),在這里我們利用ww提供的action chain功能來完成這兩個操作。
    ?這里需要修改department.action的配置,攔截save方法使其執行完后跳過原來的relist結果頁面轉向組織結構的創建orgCreate.action:
    ?<action name="unitSave" class="com.wolfsquare.ibase.org.action.UnitAction" method="save">
    ?? <result name="input">/org/unit/input.jsp</result>
    ?? <result name="relist" type="chain">
    ?????? <param name="actionName">orgCreate</param>
    ??????????????? <param name="namespace">/org</param>??
    ??????????? </result>
    ?? <result name="xxx" type="redirect">/org/unit.action?start=${start}</result>
    ?? <interceptor-ref name="validationStack"/>
    ? </action>
    可能有同學看到這里會問:創建組織節點時應該還需要關聯前面創建的部門對象啊,這個操作是如何實現的?信息是如何傳遞的?
    在這里,由于整個架構體系并沒有支持這種信息傳遞的功能,所以只好以一種比較”臟“的方式實現:
    ??????? 在department.action類里增加了一個方法getModel()返回剛剛創建的部門對象,然后在org.action類中增加一個接收的方法setModel(object o)這樣在整action chain執行的時候,ww會自動將getModel后的數據填入setModel中,這樣做的后果是以后增加新的機構類型的功能時,action必須也照這樣的語意設置getModel方法。(如果要解決這個問題,這能需要使用一個特定的Context,然后攔截指定Service的創建方法,把創建結果放入Context,不過這又帶來如何清除Context的問題,于是又要求助與ww的interspector,專門寫一個攔截器來擦屁股,夠麻煩。。。)

    ??????? 就這樣,我們完成了新增,修改組織機構的功能合成,雖然有點拖沓,但是還是達到了復用,少修改原有代碼,而且擴展性也很好的目標。這上篇說的是兩個簡單業務的功能揉合問題,下篇我們來看看稍微復雜點的情況,看看還能不能繼續依葫蘆畫瓢來完成功能合的成
    ??
    (未完待續)??

    posted @ 2006-05-17 23:40 wolfsquare 閱讀(1221) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 国产乱子伦精品免费视频| 亚洲欧洲久久久精品| 97国免费在线视频| 亚洲.国产.欧美一区二区三区| 亚洲一区二区三区首页| 国产偷窥女洗浴在线观看亚洲| 国产精品视频免费一区二区| 国产精品免费看久久久| 一本一道dvd在线观看免费视频| 亚洲一区二区三区在线观看网站| 亚洲国产精品久久久久久| 自拍偷自拍亚洲精品被多人伦好爽| 热久久精品免费视频| 希望影院高清免费观看视频| 免费在线中文日本| 日本一区午夜艳熟免费| 人妻免费久久久久久久了| 色婷婷六月亚洲综合香蕉| 国产亚洲精品成人AA片| 亚洲xxxxxx| 亚洲国产午夜电影在线入口| 久久亚洲国产精品成人AV秋霞| 国产精品亚洲а∨无码播放| 亚洲色精品88色婷婷七月丁香| 亚洲精品第一国产综合境外资源| 国产免费啪嗒啪嗒视频看看| 破了亲妺妺的处免费视频国产| 成年女人视频网站免费m| 最新欧洲大片免费在线| 久久久久久精品免费看SSS | 日本视频免费在线| 成年女人免费v片| 91免费资源网站入口| 成人免费视频77777| 大地资源免费更新在线播放| 97视频热人人精品免费| 一个人看的www在线观看免费| 无码人妻一区二区三区免费| 美女裸身网站免费看免费网站| 一二三四在线观看免费高清中文在线观看 | 成人午夜影视全部免费看|