posts - 15,comments - 29,trackbacks - 0
               摘要: 服務(wù)端配置 cas是個好東西,很靈活很好用,但是配置起來很麻煩,網(wǎng)上資料比較零碎。不弄個三五天根本不知道其中的原理,終于在多天的奮斗中配置成功,現(xiàn)在將配置的一些過程記錄下來供大家參考。 cas官方網(wǎng)站 http://www.jasig.org/cas 下載最新的服務(wù)端 CAS Server 3.3.3 Final 解壓后將modules下面的cas-server-webapp-3.3...  閱讀全文
          posted @ 2009-10-20 18:21 流腥魚 閱讀(20460) | 評論 (13)編輯 收藏
           eclipse  中使用 svn 插件,原本正常,未作任何更改,突然有一天, eclipse 中查看文件時,文件后面的 版本號 、 文件的狀態(tài)圖標(biāo) 等等都不見了。

            檢查插件都在,更新,提交等操作都能正常使用,唯獨看不到狀態(tài)了。

            經(jīng)過一番查找,找到問題解決辦法。

            打開 : windows ->preferences->General->Appearance->Lable Decorations  勾選其中的 SVN 項即可。

            同時,還可以打開 windows ->preferences->Team -> SVN 中做相關(guān)設(shè)置。

          posted @ 2009-05-21 12:19 流腥魚 閱讀(1485) | 評論 (3)編輯 收藏

          之前看到很多人一直都問這個問題,不過當(dāng)時我沒當(dāng)一回事,因為在 CSS 中要垂直居中,多數(shù)是在有高度的情況下,或者容器高度不定的情況下才用,看上去比較舒服,而且實現(xiàn)的方法也不少,不一定要拘泥于和 table 布局一樣。不過最近有人問了幾個例子,看來對此的需求還不少。現(xiàn)在就把我經(jīng)驗?zāi)贸鰜矸窒硪幌拢M蠹夜墓恼啤?/p>

          首先,要有一個概念:凡是 table 布局可以實現(xiàn)的,CSS 一定可以實現(xiàn)。CSS 可以實現(xiàn)的,table 未必能做到。

          現(xiàn)在來幾個例子:

          一、單行內(nèi)容的居中
          只考慮單行是最簡單的,無論是否給容器固定高度,只要給容器設(shè)置 line-heightheight,并使兩值相等,再加上 over-flow: hidden 就可以了

          .middle-demo-1{
          height: 4em;
          line-height: 4em;
          overflow: hidden;
          }

          優(yōu)點:
          1. 同時支持塊級和內(nèi)聯(lián)極元素
          2. 支持所有瀏覽器
          缺點:
          1. 只能顯示一行
          2. IE中不支持<img>等的居中
          要注意的是:
          1. 使用相對高度定義你的 height 和 line-height
          2. 不想毀了你的布局的話,overflow: hidden 一定要
          為什么?
          請比較以下兩個例子:


          [Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運行]

          上一個高度是用的絕對單位px,并且沒有隱藏溢出,下一個高度用的單位是相對單位em,并且隱藏了溢出。如果你的瀏覽器支持放大字體,那么盡情地放大字體,看看會出現(xiàn)什么效果。

          二、多行內(nèi)容居中,且容器高度可變
          也很簡單,給出一致的 padding-bottom 和 padding-top 就行

          .middle-demo-2{
          padding-top: 24px;
          padding-bottom: 24px;
          }

          優(yōu)點:
          1. 同時支持塊級和內(nèi)聯(lián)極元素
          2. 支持非文本內(nèi)容
          3. 支持所有瀏覽器
          缺點:
          容器不能固定高度

          三、把容器當(dāng)作表格單元
          CSS 提供一系列diplay屬性值,包括 display: table, display: table-row, display: table-cell 等,能把元素當(dāng)作表格單元來顯示。這是再加上 vertical-align: middle, 就和表格中的 valign="middle" 一樣了。

          .middle-demo-3{
          display: table-cell;
          height: 300px;
          vertical-align: middle;
          }

          可惜IE不支持這些屬性,不過在其他瀏覽器上顯示效果非常完美。
          要注意的是:和一個合法的<td>元素必須在<table>里一樣,display: table-cell 元素必須作為 display: table 的元素的子孫出現(xiàn)。

          優(yōu)點:
          不用說了吧,就是表格,效果和表格一模一樣
          缺點:
          IE下無效

          四、以毒攻毒!用 IE 的 bug 解決 IE 中的絕對居中
          先不得不說一句,IE 真的是個很爛的瀏覽器,CSS1中的定義都不支持,害得要我們轉(zhuǎn)個大圈子來造居中。不過就像我說的,凡是 table 布局可以實現(xiàn)的,CSS 一定可以實現(xiàn),即使在 IE 里也不例外。我研究 IE layout 模式多年,還是找出了一個可以在 IE 中絕對居中的方法。這個方法就是基于 IE layout 的 bug,也可以算以毒攻毒。至于原理,不要問我,這是獨門秘學(xué),何況三言兩語也講不清楚,只要好用就行

          .middle-demo-4{
          height: 300px;
          position: relative;
          }
          .middle-demo-4 div{
          position: absolute;
          top: 50%;
          left: 0;
          }
          .middle-demo-4 div div{
          position: relative;
          top: -50%;
          left: 0;
          }

          五、整合三和四,寫出支持所有瀏覽器的垂直居中容器!
          思路是利用 IE 和 非IE 瀏覽器的 CSS hack, 整合三和四的CSS,寫出兼容主流瀏覽器的垂直居中容器。具體代碼就不給出了,大家權(quán)當(dāng)作練習(xí)練習(xí)。例子可以在下面的附錄中找到。
          最終實測支持的瀏覽器:IE6+, Mozilla 1.7, Netscape Navigator 8, Opera 8.0+, Firefox 1.0+ 和 Safari 1.0+IE5 下需要加上對合適模型的補(bǔ)正。
          推測支持的瀏覽器:Mozilla 1.5+, Netscape Navigator 7+, Opera 7+
          未測試瀏覽器:Konqueror

          最后附上自己寫的,所有居中布局的范例網(wǎng)頁,大家不明白可以參考。


          [Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運行]
          posted @ 2009-04-17 19:59 流腥魚 閱讀(470) | 評論 (0)編輯 收藏

          現(xiàn)階段我們在開發(fā)報表的時候,是使用jdbc鏈接數(shù)據(jù)庫的,為提高報表的運行效率和穩(wěn)定性,使用連接池進(jìn)行管理。比較簡便和低耦合的解決辦法,使用jndi連接池。

           

          jdbc和jndi的區(qū)別

          JDBC -最基本的連接數(shù)據(jù)庫的方式, 每次對數(shù)據(jù)庫打交道的時候 ,連接數(shù)據(jù)庫是需要實例下你實現(xiàn)連接數(shù)據(jù)庫的方法或者類。
          JNDI DataSource 英文全稱是:Java Naming and Directory Interface java 命明接口,當(dāng)服務(wù)啟動時 事先把連接數(shù)據(jù)庫的已經(jīng)連好多條,具體多少條你可以設(shè)置,存放在tomcat容器里,用的時候可以直接使用, 不用再實例化得到連接, 相對與jdbc效率要快點

           

           

          在eclipse設(shè)計報表的時候,我們使用jdbc鏈接數(shù)據(jù)庫做測試,當(dāng)?shù)搅藅omcat運行環(huán)境中切換到j(luò)ndi連接池,這是比較方便的開發(fā)方法。

          實現(xiàn)步驟:

          1.tomcat配置jndi連接池

          在 {tomcat目錄}\webapps\{項目名}\META-INF 中新增context.xml文件,配置代碼如下

          <?xml version="1.0" encoding="UTF-8"?>
          <Context>
           
          <Resource
                
          auth="Container"
                name
          ="jdbc/travel_agency"
                type
          ="javax.sql.DataSource"
                maxIdle
          ="5"
                maxWait
          ="-1"
             driverClassName
          ="com.mysql.jdbc.Driver"
                username
          ="itravel"
             password
          ="709394"
                url
          ="jdbc:mysql://192.168.1.100/travel_agency?useUnicode=true&amp;characterEncoding=UTF-8"
                maxActive
          ="10"/>
          </Context>

          2.在web.xml中加入配置

           

          <resource-ref>
              
          <description>Database Source</description>
              
          <res-ref-name>jdbc/travel_agency</res-ref-name>
              
          <res-type>javax.sql.DataSource</res-type>
              
          <res-auth>Container</res-auth>
          </resource-ref>


          3.實例報表中數(shù)據(jù)源代碼

           

          1 <data-sources>
          2        <oda-data-source extensionID="org.eclipse.birt.report.data.oda.jdbc" name="數(shù)據(jù)源" id="227">
          3            <property name="odaDriverClass">com.mysql.jdbc.Driver</property> 
          4            <property name="odaURL">jdbc:mysql://192.168.1.100/travel_agency</property> 
          5            <property name="odaUser">itravel</property>
          6            <encrypted-property name="odaPassword" encryptionID="base64">NzA5Mzk0</encrypted-property>
          7            <property name="odaJndiName">java:comp/env/jdbc/travel_agency</property>
          8        </oda-data-source>
          9    </data-sources>

           

           

          除了第7行 <property name="odaJndiName">java:comp/env/jdbc/travel_agency</property>,其余是我們的之前的配置。用了第7行的代碼,表示該報表支持jndi數(shù)據(jù)源,birt在運行報表的時候,會先用jndi去連接,如果失敗了再用jdbc鏈接,這樣做的好處就是,我們在開發(fā)報表的時候,沒有放到web環(huán)境中,可以使用jdbc,當(dāng)放到tomcat中,因為有了第7行的配置。默認(rèn)采用jdni連接。


           

          posted @ 2009-03-19 10:46 流腥魚 閱讀(3655) | 評論 (2)編輯 收藏

          從論壇的一篇文章(http://www.javaeye.com/topic/335078)得知,在BIRT VIEWER SERVLET內(nèi)部也有認(rèn)證接口代碼,只是簡單的返回了true,沒有做處理。BIRT VIEWER SERVLET是報表處理的入口,該接口如果返回flase,那么報表將不會顯示,目標(biāo)就是在該接口加入我們自己的邏輯實現(xiàn),本階段先實現(xiàn)簡單的安全認(rèn)證,即在沒有登錄的情況下無法訪問報表。

          處理步驟:

          1.把birt viewer項目和現(xiàn)有項目整合在一起(為了讓birt viewer項目能獲取到現(xiàn)有項目的session)

          2.修改BIRT VIEWER SERVLET類,該類源碼在org.eclipse.birt.report.servlet.BirtEngineServlet下面,找到函數(shù)經(jīng)行修改,紅色為新增部分

          /**
            * Local authentication.
            *
            * @param request
            *            incoming http request
            * @param response
            *            http response
            * @return
            */
           protected boolean __authenticate( HttpServletRequest request,
             HttpServletResponse response )
           {
            
            //報表權(quán)限,沒有登錄訪問不了
            if(request.getSession().getAttribute("user")==null)
            {
             return false;
            }

            
            return true;
           }

          3.將該類編譯后放進(jìn)BIRT包里面。

          posted @ 2009-03-19 10:42 流腥魚 閱讀(2049) | 評論 (2)編輯 收藏
          http://www.overset.com/2008/05/12/multiday-calendar-datepicker-jquery-plugin/
          posted @ 2009-02-17 00:26 流腥魚 閱讀(1773) | 評論 (1)編輯 收藏

          1.組織機(jī)構(gòu)的完善

          工作流中的權(quán)限設(shè)置往往是比較復(fù)雜的,如審批中經(jīng)常需要某部門的主管審批,或者某個人的上級領(lǐng)導(dǎo)審批等等。

          為了滿足需求的多樣化,在原來的組織機(jī)構(gòu)基礎(chǔ)上引入崗位的模型,每個員工都對應(yīng)一個部門和一個崗位。部門中設(shè)置主管的崗位。有個這個關(guān)系,這樣可以比較清楚地查找某個人的上級領(lǐng)導(dǎo),或者是某個部門的主管。



          2.工作流節(jié)點中設(shè)置執(zhí)行者方案

          6種方式定義執(zhí)行者

          1.指定人

          通過在組織結(jié)構(gòu)樹中點選具體的某些人。

          2.指定崗位

          在崗位樹中指定執(zhí)行的崗位。

          3.指定部門

          在組織機(jī)構(gòu)樹中指定執(zhí)行的部門

          4.指定角色

          角色是某些邏輯上相識的一個組定義。選擇某個角色。

          5.相對執(zhí)行人

          在流程還沒有開啟之前,執(zhí)行者是誰是未知的,所以這里的指定是相對的,當(dāng)流程開啟的時候才能確定,這里可以設(shè)置相對執(zhí)行人的部門主管、相對執(zhí)行人的上級主管、相對執(zhí)行人的所在部門、執(zhí)行人自己這4個情況。

          6.表單確定

          有些流程不在定義的時候確定,是由上一節(jié)點執(zhí)行者確定的。

          前五種方式可以混合,只要登錄者復(fù)合定義制定人的并集,就有權(quán)限在待辦任務(wù)中看到等待處理任務(wù)并有權(quán)限執(zhí)行。

          posted @ 2009-02-12 17:27 流腥魚 閱讀(1882) | 評論 (1)編輯 收藏
          ps -ef |grep tomcat
          kill -9 端口
          posted @ 2009-01-09 18:28 流腥魚 閱讀(1007) | 評論 (0)編輯 收藏
          主站蜘蛛池模板: 商洛市| 浪卡子县| 遵化市| 南丹县| 临朐县| 专栏| 滦平县| 萍乡市| 久治县| 准格尔旗| 福清市| 大悟县| 宁远县| 化州市| 栾川县| 达孜县| 治县。| 南靖县| 舞阳县| 莲花县| 宁城县| 台中县| 宝鸡市| 南城县| 聂拉木县| 金乡县| 阿克| 丹棱县| 青阳县| 收藏| 新郑市| 上杭县| 格尔木市| 鄂托克旗| 商河县| 修文县| 运城市| 宁都县| 应城市| 安福县| 奉新县|