爪哇之家

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            35 隨筆 :: 29 文章 :: 8 評論 :: 0 Trackbacks

          2005年12月6日 #

          JDK6----/etc/profile.d/java

          JAVA_HOME = /usr/java/jdk6
          PATH
          = $JAVA_HOME/bin:$PATH
          CLASSPATH
          = .:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
          export?JAVA_HOME?PATH?CLASSPATH
          TOMCAT6,jsvc-src/native/Tomcat5.sh --> /etc/init.d/tomcat
          JAVA_HOME=/usr/java/jdk6
          CATALINA_HOME
          =/usr/java/tomcat6
          DAEMON_HOME
          =$CATALINA_HOME/bin/jsvc-src
          TOMCAT_USER
          =tomcat

          #?for?multi?instances?adapt?those?lines.
          TMP_DIR
          =/var/tmp
          PID_FILE
          =/var/run/jsvc.pid
          CATALINA_BASE
          =$CATALINA_HOME

          CATALINA_OPTS
          ="-Djava.library.path=/usr/local/apr/lib"
          CATALINA_OPTS
          ="$CATALINA_OPTS?-Xms512m?-Xmx1024m?$JPDA_OPTS"
          CLASSPATH
          =\
          $JAVA_HOME/lib/tools.jar:\
          $CATALINA_HOME/bin/commons-daemon.jar:\
          $CATALINA_HOME/bin/bootstrap.jar
          安裝tomcat-native,arp等
          posted @ 2008-12-17 02:18 爪哇之家 閱讀(392) | 評論 (0)編輯 收藏

          環(huán)境:使用fm是2.3.9,webwork2.2.4(使用切換語法):
          一:作為components組件的參數(shù)如果值為字符串,則需要在字符串上加上單引號。
          <ww:component template="checkboxlist_portraitCols.ftl">
          ?<ww:param name="name" value="'test'" /><!--注意單引號-->
          ?<ww:param name="colCnt" value="4" />
          ?<ww:param name="list" value="{'1','2','3','4','5','6'}" />
          </ww:component>

          二:終于理解freemaker的多值類型。

          <#if (parameters.list?size%parameters.colCnt)?int==0>:求余數(shù)是否為0,必須加上內(nèi)置方法int。

          freemaker內(nèi)置了chunk分塊的方法,但是我始終沒有想到怎么將這個快按縱向進行排列。橫向好說,直接按行輸出。因此寫下列模板代碼來實現(xiàn)。


          <#assign itemCount = 0/>
          <#if parameters.list??>?
          ?<#assign width=(100/parameters.colCnt)?int>
          ?
          ?<#assign itemCount = itemCount + 1/>

          ?<#assign rowCnt=0/>
          ?<#assign colCnt=0/>
          ?<#list parameters.list?chunk(parameters.colCnt) as row>
          ??<#assign rowCnt=rowCnt+1/>
          ??<tr>
          ??<#list row as cell>
          ???<#assign itemCount = itemCount + 1/>
          ???<#assign colCnt=colCnt+1/>
          ???<#if rowCnt==0 && col<parameters.colCnt-1 >
          ????<td width='${width}%'>
          ???<#else>
          ????<td>
          ???</#if>
          ???<#if parameters.listKey??>
          ????<#assign itemKey = cell[parameters.listKey]/>
          ???<#else>
          ???? <#assign itemKey = cell/>
          ???</#if>
          ???
          ???<#if parameters.listValue??>
          ???? <#assign itemValue = cell[parameters.listValue]/>
          ???<#else>
          ???? <#assign itemValue = cell/>
          ???</#if>
          ???<#assign itemKeyStr=itemKey.toString() />
          ????<input type="checkbox" name="${parameters.name?html}" value="${itemKeyStr?html}" id="${parameters.name?html}-${itemCount}"<#rt/>
          ???<#if tag.contains(parameters.nameValue, itemKey)>
          ????checked="checked"<#rt/>
          ???</#if>
          ???<#if parameters.disabled!(false)>
          ????disabled="disabled"<#rt/>
          ???</#if>
          ???/>
          ???<label for="${parameters.name?html}-${itemCount}" class="checkboxLabel">${itemValue?html}</label>
          ???</td>???
          ??</#list>
          ?</#list>?
          <#else>
          ? &nbsp;
          </#if>

          jsp引用頁面測試代碼:
          <table width="80%">
          <ww:component template="checkboxlist_landscapeCols.ftl">
          ?<ww:param name="name" value="'test'" />
          ?<ww:param name="colCnt" value="4" />
          ?<ww:param name="list" value="{'1','2','3','4','5','6'}" />
          </ww:component>
          </table>
          posted @ 2008-05-31 08:31 爪哇之家| 編輯 收藏

          http://www.ccw.com.cn/htm/center/prog/02_3_8_3.asp
          posted @ 2008-03-27 15:24 爪哇之家| 編輯 收藏

          1. 地址碼:表示編碼對象常住戶口所在縣(市、旗、區(qū))的行政區(qū)劃代碼,按GB/T2260的規(guī)定執(zhí)行。

            2. 出生日期碼:表示編碼對象出生的年、月、日,按GB/T7408的規(guī)定執(zhí)行,年、月、日分別用4位、2位、2位數(shù)字表示,之間不用分隔符。

            3. 順序碼:表示在同一地址碼所標識的區(qū)域范圍內(nèi),對同年、同月、同日出生的人編定的順序號,順序碼的奇數(shù)分配給男性,偶數(shù)分配給女性。

            校驗的計算方式:

            1. 對前17位數(shù)字本體碼加權(quán)求和
            公式為:S = Sum(Ai * Wi), i = 0, ... , 16
            其中Ai表示第i位置上的身份證號碼數(shù)字值,Wi表示第i位置上的加權(quán)因子,其各位對應(yīng)的值依次為: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2

            2. 以11對計算結(jié)果取模
            Y = mod(S, 11)

            3. 根據(jù)模的值得到對應(yīng)的校驗碼
            對應(yīng)關(guān)系為:
            ?? Y值: 0 1 2 3 4 5 6 7 8 9 10
            校驗碼: 1 0 X 9 8 7 6 5 4 3 2

          posted @ 2007-12-22 23:03 爪哇之家| 編輯 收藏

          用ADO控件讀EXCEL或DBF文件

          用ADO連接Excel
          設(shè)置屬性ConnetionString
          選擇 Microsoft Jet 4.0 OLE DB provider
          Select or enter a datasorce name -> 選擇你要打開Excel文件
          User name默認是Admin 密碼默認為空,可以不用理會
          Extended properties 設(shè)為:Excel 8.0
          sql語句 select * from [yourtablename] (注意要有[])

          更詳細的請看這一篇:

          在DELPHI中使用ADO直接訪問Excel數(shù)據(jù)文件


          摘 要:在DELPHI中使用ADO直接訪問Excel數(shù)據(jù)文件
          關(guān)鍵字:ADO Excel
          類 別:數(shù)據(jù)庫

            要用DELPHI中的ADO系列控件訪問Excel數(shù)據(jù)文件,首先應(yīng)該建立一些基本概念。你需要將一個Excel數(shù)據(jù)文件想象
          為一個關(guān)系數(shù)據(jù)庫,Excel文件中的每個工作表就對應(yīng)該數(shù)據(jù)庫中的一個表,而工作表中的每一列當(dāng)然就是表的列了。
          然后,按照下列面的秘訣進行就可以。
            
            1.設(shè)置ADOConnection的ConnectionString
          構(gòu)造ConnectionString時,OLE DB的提供者要選擇Microsoft Jet 4.0 OLE DB Provider作為ADO的驅(qū)動程序。
          這本來是用于連接Access數(shù)據(jù)庫的驅(qū)動程序,但也可打開Excel文件。
          連接的數(shù)據(jù)庫名稱當(dāng)然就是你要打開的Excel文件,注意擴展名是*.xls,而不是*.mdb。
          最關(guān)鍵的一點是,還要設(shè)置擴展屬性Extended Properties為"Excel 8.0",否則,測試連接時會報告無法識別數(shù)據(jù)格式
          的錯誤。Extended Properties的屬性值在"所有"參數(shù)頁中輸入。
          最后,設(shè)置完成后的ConnectionString中的各項參數(shù)為:

          Provider=Microsoft.Jet.OLEDB.4.0
          Data Source=MyExcelFile.xls
          Extended Properties=Excel 8.0
          Persist Security Info=False



            2.設(shè)置ADODataSet或ADOTable
          1將ADODataSet或ADOTable連接到剛才的ADOConnection。如果不用ADOConnection,也可以參照上面的方法直接設(shè)置
          ADODataSet或ADOTable的ConnectionString屬性。
          2對于ADODataSet,需要將CommandType屬性設(shè)置為cmdTableDirect,而對于ADOTable,則將TableDirect屬性設(shè)置為True。
          因為,訪問Excel文件是直接的數(shù)據(jù)文件訪問,不是通過SQL語句來操作游標訪問的。如果不設(shè)置直接訪問,則系統(tǒng)會報告
          SQL語句格式錯誤等信息。
          然后,當(dāng)你下拉ADODataSet中的CommandText屬性或ADOTable的TableName屬性時,就可以選擇到要打開的工作表了。
          注意,表名后面多了加一個$符號。
          3.打開ADODataSet或ADOTable


          連接DBF數(shù)據(jù)
          構(gòu)造ado connection string
          提供者選擇 Microsoft Jet 4.0 OLEDB Provider
          "所有"那里編輯 Extended Properties,
          dbf文件的話設(shè)置為dBase 5.0(注意dBase和5.0之間必須有空格,最好拷貝過去粘貼)
          db文件的話設(shè)置為Paradox 7.X
          (dbf就是dbase或Vfox數(shù)據(jù)庫,db就是paradox數(shù)據(jù)庫)
          "連接"那里的"數(shù)據(jù)庫名稱"輸入的是目錄名,不能包含文件名,
          比如你的文件是 c:tempaaa.dbf ,那么輸入c:temp
          同時CursorLocation 設(shè)置為: clUseServer

          還可以:
          如果直接連的話,ADO的連接字串設(shè)為:

          adoConnection1.ConnectionString:='Provider=MSDASQL.1;Extended Properties="Driver={Microsoft Visual Foxpro Driver};SourceType=DBF;SourceDB=c:mydb"';


          如果是用ODBC,先在ODBC中設(shè)一個DSN連接到該DBF庫,然后,在ADOConnection中設(shè)置連接ODBC的連接字串即可(可以用向?qū)椭瓿?

          posted @ 2007-11-23 12:45 爪哇之家| 編輯 收藏

          1、允許匿名評論,注釋掉batch.comment.php中的
          ?if(empty($_SCONFIG['allowguest'])) {
          ???????? //hszdz:jsmessage('error', 'no_login', geturl('action/login'));
          ?}這個方法,后來發(fā)現(xiàn)有"允許匿名評論"的選項
          2、tag比較混亂,用固定下拉選擇框:修改xspace/admin/spaceap/common.js的addMouseEvent部分
          var inputname=inputs[i].name;
          ??? ??? if(inputname=='tagname'){
          ??? ??? ??? if(inputs[i].style.display!='none'){??? ??? ???
          ??? ??? ??? ??? inputs[i].style.display='none';
          ??? ??? ??? ??? var hack = document.getElementById('tagnametips');??? ??? ??? ???
          ??? ??? ??? ??? hack.innerHTML="<select name='tagname' id='tagname'><option value='情感' selected>情感</option><option value='論文'>論文</option><option value='心理'>心理</option><option value='寫作'>寫作</option></select>";
          ??? ??? ??? ??? hack.className='';
          ??? ??? ??? ??? hack.style.display='block';??? ??? ??? ???
          ??? ??? ??? }
          ??? ??? }
          3、

          刪除X-Space SuperSite 個人空間下方版權(quán)方法

          修改/css/space.css找到以下代碼:
          CODE:

          /*頁腳*/
          #xspace-footer { text-align : center; margin: 1em 0 0 0; }
          ? ?? ???#xspace-footer p { margin: 0.3em 0; }
          ? ?? ???#xspace-copyright { font: 10px Verdana, Arial, Helvetica, sans-serif; margin: 0; padding-bottom: 2em; }
          ? ?? ?? ?? ?? ? #xspace-copyright strong { color: #036; font-weight:bold; }
          ? ?? ?? ?? ?? ? #xspace-copyright em { color: #FF9900; font-weight:bold; font-style: normal; }
          修改為:
          CODE:

          /*頁腳*/
          #xspace-footer { text-align : center; margin: 1em 0 0 0; }
          ? ?? ???#xspace-footer p { margin: 0.3em 0; }
          ? ?? ???#xspace-copyright { font: 10px Verdana, Arial, Helvetica, sans-serif; margin: 0; padding-bottom: 2em; display:none; }
          ? ?? ?? ?? ?? ? #xspace-copyright strong { color: #036; font-weight:bold; }
          ? ?? ?? ?? ?? ? #xspace-copyright em { color: #FF9900; font-weight:bold; font-style: normal; }
          不會改的話,下載我的CSS吧,地址是:



          刪除X-Space個人空間標題方法:

          找到/include/js/common.js再里面加入以下代碼
          CODE:

          function title_powered(str2) {
          ? ?? ???var str1 = document.title;
          ? ?? ???var str2 = str1.indexOf(" - powered by X-Space");

          ? ?? ???if (str2 != -1) {
          ? ?? ?? ?? ?? ? document.title=document.title.substring(0,str2);
          ? ?? ???}

          }
          title_powered();
          方法二:
          CODE:

          document.title = document.title.replace(' - powered by X-Space', '');




          刪除X-Space個人空間管理版權(quán)方法:

          修改admin/spacecp/style.css找到以下代碼:

          CODE:

          .copyright { font-size: 12px; margin: 0; }
          改為
          CODE:

          .copyright { display:none; }


          posted @ 2007-11-04 20:07 爪哇之家| 編輯 收藏

          http://www.javaeye.com/topic/137798
          posted @ 2007-11-04 01:12 爪哇之家| 編輯 收藏

          http://…/test.php/%22%3E%3Cscrīpt%3Ealert(’xss’)%3C/scrīpt%3E%3Cfoo
          posted @ 2007-10-28 21:18 爪哇之家| 編輯 收藏

          計算機dos中的net命令
          ----------------------------------------------------------------
          net?use?\\ip\ipc$?"?"?/user:"?"?建立IPC空鏈接?
          net?use?\\ip\ipc$?"密碼"?/user:"用戶名"?建立IPC非空鏈接?
          net?use?h:?\\ip\c$?"密碼"?/user:"用戶名"?直接登陸后映射對方C:到本地為H:?
          net?use?h:?\\ip\c$?登陸后映射對方C:到本地為H:?
          net?use?\\ip\ipc$?/del?刪除IPC鏈接?
          net?use?h:?/del?刪除映射對方到本地的為H:的映射?
          ----------------------------------------------------------------
          net?user?用戶名 密碼 /add?建立用戶?
          net?user?guest?/active:yes?激活guest用戶?
          net?user?查看有哪些用戶?
          net?user?帳戶名?查看帳戶的屬性
          ----------------------------------------------------------------?
          net?localgroup administrators?用戶名?/add?把“用戶”添加到管理員中使其具有管理員權(quán)限,注意:***istrator后加s用復(fù)數(shù)?
          net?start?查看開啟了哪些服務(wù)?
          net?start?服務(wù)名 ?開啟服務(wù);(如:net?start?telnet,?net?start?schedule)?
          ----------------------------------------------------------------
          net?stop?服務(wù)名?停止某服務(wù)?
          net?time?\\目標ip?查看對方時間?
          net?time?\\目標ip?/set?設(shè)置本地計算機時間與“目標IP”主機的時間同步,加上參數(shù)/yes可取消確認信息
          shutdown/r 重新啟動
          posted @ 2007-09-05 23:26 爪哇之家| 編輯 收藏

          CREATE DATABASE IF NOT EXISTS my_db default charset utf8 COLLATE utf8_general_ci;
          createdatabase dbname character set utf8;
          solaris安裝:pkgadd -d ./gcc-2.7.2.1
          posted @ 2007-05-12 17:10 爪哇之家| 編輯 收藏

          新機器,sata硬盤裝win98+winxp雙系統(tǒng)出死活裝不上去
          沒辦法,裝vmware,fdisk后死活說不可以讀C盤,abort進入A盤后格式化后可以安裝了

          posted @ 2007-02-27 22:28 爪哇之家 閱讀(283) | 評論 (0)編輯 收藏

          錯誤:Starting MySQLCouldn't find MySQL manager or server
          www kernel: audit(1145177979.106:127549): avc:? denied? { search } for? pid=27355 co
          mm="mysqld" name="/" dev=sdb7 ino=2 scontext=root:system_r:mysqld_t tcontext=system_u:object_r:file_
          t tclass=dir

          建目錄/var/run/mysqld不存在
          setsebool -P mysqld_disable_trans=1
          posted @ 2007-01-18 10:36 爪哇之家 閱讀(347) | 評論 (0)編輯 收藏

          正常的cookie只能在一個應(yīng)用中共享,即一個cookie只能由創(chuàng)建它的應(yīng)用獲得。
          1.可在同一應(yīng)用服務(wù)器內(nèi)共享方法:設(shè)置cookie.setPath("/");
          本機tomcat/webapp下面有兩個應(yīng)用:cas和webapp_b,
          1)原來在cas下面設(shè)置的cookie,在webapp_b下面獲取不到,path默認是產(chǎn)生cookie的應(yīng)用的路徑。
          2)若在cas下面設(shè)置cookie的時候,增加一條cookie.setPath("/");或者cookie.setPath("/webapp_b/");就可以在webapp_b下面獲取到cas設(shè)置的cookie了。
          3)此處的參數(shù),是相對于應(yīng)用服務(wù)器存放應(yīng)用的文件夾的根目錄而言的(比如tomcat下面的webapp),因此cookie.setPath ("/");之后,可以在webapp文件夾下的所有應(yīng)用共享cookie,而cookie.setPath("/webapp_b/");是指cas應(yīng) 用設(shè)置的cookie只能在webapp_b應(yīng)用下的獲得,即便是產(chǎn)生這個cookie的cas應(yīng)用也不可以。
          4)設(shè)置cookie.setPath("/webapp_b/jsp")或者cookie.setPath("/webapp_b/jsp/")的時 候,只有在webapp_b/jsp下面可以獲得cookie,在webapp_b下面但是在jsp文件夾外的都不能獲得cookie。
          5)設(shè)置cookie.setPath("/webapp_b");,是指在webapp_b下面才可以使用cookie,這樣就不可以在產(chǎn)生cookie的應(yīng)用cas下面獲取cookie了
          6)有多條cookie.setPath("XXX");語句的時候,起作用的以最后一條為準。
          6)設(shè)置多個path的方法???
          2.跨域共享cookie的方法:設(shè)置cookie.setDomain(".jszx.com");
          A機所在的域:home.langchao.com,A有應(yīng)用cas
          B機所在的域:jszx.com,B有應(yīng)用webapp_b
          1)在cas下面設(shè)置cookie的時候,增加cookie.setDomain(".jszx.com");,這樣在webapp_b下面就可以取到cookie。
          2)這個參數(shù)必須以“.”開始。
          3)輸入url訪問webapp_b的時候,必須輸入域名才能解析。比如說在A機器輸入:http://lc-bsp.jszx.com: 8080/webapp_b,可以獲取cas在客戶端設(shè)置的cookie,而B機器訪問本機的應(yīng)用,輸入:http://localhost: 8080/webapp_b則不可以獲得cookie。
          4)設(shè)置了cookie.setDomain(".jszx.com");,還可以在默認的home.langchao.com下面共享。
          5)設(shè)置多個域的方法???
          posted @ 2006-11-16 16:35 爪哇之家| 編輯 收藏

          http://www.cnnb.com.cn/new-gb/xwzxzt/ndzt/fashion10/
          http://www.chinahongyi.cn/newEbiz1/EbizPortalFG/portal/html/index.html
          http://www.gmzs.com/高明市
          http://www.dayic.com/data/firework/24.html--firework教程
          http://www.68design.net/?網(wǎng)站設(shè)計,好多酷站
          http://www.swedu.or.kr/swpr/Index.jsp
          http://www.68design.net/designweb/
          http://www.java-asp.net/
          http://net.nen.com.cn/admin/index.php wangsm2/wangsm,szexpert
          posted @ 2006-11-03 16:41 爪哇之家| 編輯 收藏

          awk 'length($1)==10 {system("postsuper -d "$1)}'刪除郵件隊列中的郵件
          make -f Makefile.init makefiles \
          'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -I/usr/include/sasl' \
          'AUXLIBS=-L/usr/lib/mysql -lmysqlclient -lz -lm -L/usr/lib -lsasl2',加-DUSE_CYRUS_SASL
          posted @ 2006-10-30 13:37 爪哇之家 閱讀(134) | 評論 (0)編輯 收藏

          moodle是個好東西,安裝也很順利,但是在centos4.2+apache2+php4下出現(xiàn)了一些問題:
          1、不能登陸,說是cookie沒有開啟,原因是在setCookie之前有header輸出
          在index.php的最前面加上
          ?require_once('lib/moodlelib.php');
          ?if (get_moodle_cookie() == '') {
          ???? set_moodle_cookie('nobody');
          ?}
          2、文件不能下載,原因同樣是在文件下載header之前有了輸出
          在lib/file.php第1行加ob_start()
          在send_file()之前加ob_end_clean()把緩沖清除掉
          3、上傳文件不能有中文文件名
          在config.php里加$CFG->unicodecleanfilename = true;
          4、下載文件中中文文件名亂碼(不是很好的解決方案,不能滿足國外用戶訪問了)
          在lib/filelib.php的send_file中對$filename做utf8->gbk的轉(zhuǎn)碼


          posted @ 2006-10-26 08:33 爪哇之家 閱讀(1376) | 評論 (3)編輯 收藏

          chcon -R -t httpd_user_content_t /web
          system-config-securitylevel
          sestatus

          zend:? chcon -t texrel_shlib_t xxxxx.so
          posted @ 2006-10-20 10:48 爪哇之家| 編輯 收藏

          要實現(xiàn)這個文字在圖片右側(cè)的環(huán)繞效果,需要自己給圖片加入如下代碼,因為很多象本站一樣的blog默認編輯中是沒有支持文字環(huán)繞功能的選項的。
          (p style="clear:right ")……
          (img src="圖片實際地址" style="float:left"?width="xxx" height="xxx" )(/p)
          這樣可以實現(xiàn)左環(huán)繞,把Clear設(shè)為Left,F(xiàn)loat設(shè)為Right,可實現(xiàn)右環(huán)繞。
          posted @ 2006-10-07 17:58 爪哇之家 閱讀(415) | 評論 (0)編輯 收藏

          查看磁盤 df -h , du -hs /var
          tcpdump port 80
          vmstat -n 2
          squidclient -p3128 cache_object://localhost/info 
          查看連接命令???????? netstat -an|grep EST|awk "{print $3}"|awk -F":" "{print $1}"|sort|uniq -c|sort??? 
          封禁連入的ip????????? iptables -A INPUT -p tcp --dport 80 -s xxx.xxx.xxx.xxx -j DROP
          檢查named錯誤的命令???? ?grep named /var/log/messages | tail -n 20
          				跟蹤dns查詢      dig @202.103.0.117 www.hssygz.com
          				.
          				 +trace
          		
          posted @ 2006-09-02 14:13 爪哇之家| 編輯 收藏

          http://www.aygfsteel.com/thinkbase/archive/2006/06/05/50382.html
          posted @ 2006-06-05 02:08 爪哇之家 閱讀(326) | 評論 (1)編輯 收藏

          解決思路:
          配置web工程web.xml加上
          ? <mime-mapping>
          ??? <extension>doc</extension>
          ??? <mime-type>application/msword</mime-type>
          ? </mime-mapping>
          ? <mime-mapping>
          ??? <extension>xls</extension>
          ??? <mime-type>application/vnd.ms-excel</mime-type>
          ? </mime-mapping>
          修改后非常注意的要清空緩存這樣才會彈出保存還是打開的窗口否則打開還是亂碼.
          posted @ 2006-06-02 20:26 爪哇之家 閱讀(156) | 評論 (0)編輯 收藏

          function ubb($str) {??
          $color=Array('red','blue','green');
          $str=eregi_replace('\[url\]([a-zA-Z0-9@:%_.~#-\?&]+)\[\/url\]','<a href=http://\\1>\\1</a>',$str);//url
          $str=eregi_replace('\[url=http://([a-zA-Z0-9@:%_.~#-\?&]+)\](.+)\[\/url\]','<a href=\\1 target=_blank>\\2</a>',$str);
          $str=eregi_replace('\[url=([a-zA-Z0-9@:%_.~#-\?&]+)\](.+)\[\/url\]','<a href=http://\\1 target=_blank>\\2</a>',$str);
          $str=eregi_replace('\[img\]([a-zA-Z0-9@:%_.~#-\?&]+)\[\/img\]','<img src=http://\\1>\\1</img>',$str);//img
          $str=eregi_replace('\[h([1-6])\](.+)\[\/h[1-6]\]','<h\\1>\\2</h\\1>',$str);//h1-6
          $str=eregi_replace('\[email\]([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})\[\/email\]','<a href=mailto:\\1>\\1</a>',$str);//email
          $str=eregi_replace('\[email=([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})\](.+)\[\/email\]','<a href=mailto:\\1>\\2</a>',$str);
          $str=eregi_replace('\[b\](.+)\[\/b\]','<b>\\1</b>',$str);
          $str=eregi_replace('\[i\](.+)\[\/i\]','<i>\\1</i>',$str);
          $str=eregi_replace('\[size=(.+)\](.+)\[\/size\]','<font size=\\1>\\2</font>',$str);
          $str=eregi_replace('\[color=(.+)\](.+)\[\/color\]','<font color=\\1>\\2</font>',$str);
          $str=eregi_replace('\[sub\](.+)\[\/sub\]','<sub>\\1</sup>',$str);//下裱
          $str=eregi_replace('\[sup\](.+)\[\/sup\]','<sup>\\1</sup>',$str);//上標
          for($i=0;$i<=count($color);$i++)$str=eregi_replace('\['.$color[$i].'\](.+)\[\/'.$color[$i].'\]','<font color='.$color[$i].'>\\1</font>',$str);
          $str=preg_replace("/\[quote\](.+?)\[\/quote\]/is","<blockquote><font size='1' face='Courier New'>quote:</font><hr>\\1<hr></blockquote>", $str);
          $str=preg_replace("/\[code\](.+?)\[\/code\]/is","<blockquote><font size='1' face='Times New Roman'>code:</font><hr color='lightblue'><i>\\1</i><hr color='lightblue'></blockquote>", $str);
          $str=preg_replace("/\[sig\](.+?)\[\/sig\]/is","<div style='text-align: left;color: darkgreen;margin-left: 5%'><br><br>--------------------------<br>\\1<br>--------------------------</div>", $str);
          return $str;
          }
          posted @ 2006-05-19 02:48 爪哇之家 閱讀(183) | 評論 (0)編輯 收藏

          http://www.ajaxwing.com/
          posted @ 2006-05-06 18:36 爪哇之家 閱讀(397) | 評論 (0)編輯 收藏

          http://www.3doing.net/forums/printpage.asp?BoardID=48&ID=212
          posted @ 2006-04-29 16:11 爪哇之家 閱讀(121) | 評論 (0)編輯 收藏

          http://www.hibernate.org.cn/viewtopic.php?t=17939
          posted @ 2006-04-29 10:03 爪哇之家 閱讀(157) | 評論 (0)編輯 收藏

          打開開始--運行--鍵入gpedit.msc
          按回車后打開組策略編輯器,雙擊管理模版菜單--選擇系統(tǒng)下拉菜單,在工作區(qū)找到“顯示‘關(guān)閉事件跟蹤程序’”,雙擊“顯示‘關(guān)閉事件跟蹤程序’”項,在設(shè)置選項卡里把“已啟用”改為“已禁用”,確定完成。
          posted @ 2006-04-28 16:07 爪哇之家 閱讀(419) | 評論 (0)編輯 收藏

          網(wǎng)頁播放的視頻代碼
          第一種是通過調(diào)用window media player進行播放諸如:wmv,asf等格式文件:

          <object align=middle class=OBJECT classid=CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95 height=320 id=MediaPlayer width=356>
          <param name="ShowStatusBar" value="-1">
          <param name="Filename" value="電影地址">
          <embed type=application/x-oleobject codebase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701 flename=mp src=電影地址 width=356 height=320>
          </embed> 
          </object>


          第二種是通過調(diào)用replayer進行播放諸如:rm,ram等格式文件

          播放框:
          <object classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA height=285 id=RAOCX name=rmplay width=356>
          <param name="SRC" value="影片地址">
          <param name="CONSOLE" value="Clip1">
          <param name="CONTROLS" value="imagewindow">
          <param name="AUTOSTART" value="true">
          <embed src="影片地址" autostart="true" controls="ImageWindow" console="Clip1" pluginspage="http://www.real.com"/’ target="_blank" >http://www.real.com"; width="356" height="285">
          </embed> 
          </object>
          控制框:可緊跟播放框一起
          <object classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA height=27 id=video1 width=356>
          <param name="_ExtentX" value="7276">
          <param name="_ExtentY" value="1058">
          <param name="AUTOSTART" value="0">
          <param name="SHUFFLE" value="0">
          <param name="PREFETCH" value="0">
          <param name="NOLABELS" value="0">
          <param name="CONTROLS" value="ControlPanel">
          <param name="CONSOLE" value="Clip1">
          <param name="LOOP" value="0">
          <param name="NUMLOOP" value="0">
          <param name="CENTER" value="0">
          <param name="MAINTAINASPECT" value="0">
          <param name="BACKGROUNDCOLOR" value="#ffffff">
          <embed type="audio/x-pn-realaudio-plugin" console="Clip1" controls="ControlPanel" height="27" width="356" autostart="0" _extentx="7276" _extenty="1058" shuffle="0" prefetch="0" nolabels="0" loop="0" numloop="0" center="0" maintainaspect="0" backgroundcolor="#ffffff">
          </embed>
          </object>


          第三種是通過調(diào)用flashplayer進行播放:swf類的flash文檔,分別如下:

          <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="356" height=320>
          <param name="movie" value="flash地址">
          <param name="quality" value="high">
          <embed src="flash地址" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer"’ target="_blank" >http://www.macromedia.com/go/getflashplayer"; type="application/x-shockwave-flash" width="356" height=320>
          </embed>
          </object>
          posted @ 2006-03-20 20:16 爪哇之家 閱讀(1627) | 評論 (1)編輯 收藏

          Description: The Error means The connection with the server has been terminated.

          If you check out the C:\Windows\system32\LogFiles\HTTPERR\httperr*.log files on the distribution server, you'll likely see either Timer_MinBytesPerSecond errors or Timer_ConnectionIdle errors. These are caused by IIS' default settings, contained within its metabase, which define the minimum traffic flow rate for a connection to be kept alive and the maximum idle time allowed before a connection is dropped. For some reason, SUS servers seem to take their good old time while downloading updates, and these parameters are exceeded and the distribution server drops 'em.

          1) From IIS Manager, right click on the Internet Information Server (IIS) Manager root level folder and go to Properties. Check the box to enable direct metabase editing. Click OK.

          2) Open the C:\Windows\system32\inetsrv\Me-taBase.xml file in Notepad. Do a search for "MinFileBytesPerSec". Change the setting for MinFileBytesPerSec from 240 to 0. Do another search, this time for "ConnectionTimeout" to be 600. Save changes and exit.

          3) Restart the IIS Admin service to effect the changes.
          posted @ 2006-03-16 10:49 爪哇之家 閱讀(3209) | 評論 (1)編輯 收藏

          php.ini中文解釋

           [PHP]
          ; PHP還是一個不斷發(fā)展的工具,其功能還在不斷地刪減
          ; 而php.ini的設(shè)置更改可以反映出相當(dāng)?shù)淖兓?
          ; 在使用新的PHP版本前,研究一下php.ini會有好處的

          ;;;;;;;;;;;;;;;;;;;
          ; 關(guān)于這個文件 ;
          ;;;;;;;;;;;;;;;;;;;

          ; 這個文件控制了PHP許多方面的觀點.為了讓PHP讀取這個文件,它必須被命名為
          ; ''php.ini''.PHP 將在這些地方依次查找該文件:當(dāng)前工作目錄;環(huán)境變量PHPRC
          ; 指明的路徑;編譯時指定的路徑.
          ; 在windows下,編譯時的路徑是Windows安裝目錄.
          ; 在命令行模式下,php.ini的查找路徑可以用 -c 參數(shù)替代.

          ; 該文件的語法非常簡單.空白字符和用分號'';''開始的行被簡單地忽略(就象你可能
          ; 猜到的一樣). 章節(jié)標題(例如 : [Foo])也被簡單地忽略,即使將來它們可能
          ; 有某種的意義.
          ;
          ; 指示被指定使用如下語法:
          ; 指示標識符 = 值
          ; directive = value
          ; 指示標識符 是 *大小寫敏感的* - foo=bar 不同于 FOO = bar.
          ;
          ; 值可以是一個字符串,一個數(shù)字,一個 PHP 常量 (如: E_ALL or M_PI), INI 常量中的
          ; 一個 (On, Off, True, False, Yes, No and None) ,或是一個表達式
          ; (如: E_ALL & ~E_NOTICE), 或是用引號括起來的字符串("foo").
          ;
          ; INI 文件的表達式被限制于位運算符和括號.
          ; | bitwise OR
          ; & bitwise AND
          ; ~ bitwise NOT
          ; ! boolean NOT
          ;
          ; 布爾標志可用 1, On, True or Yes 這些值置于開的狀態(tài).
          ; 它們可用 0, Off, False or No 這些值置于關(guān)的狀態(tài).
          ;
          ; 一個空字符串可以用在等號后不寫任何東西表示,或者用 None 關(guān)鍵字:
          ;
          ; foo = ; 將foo置為空字符串
          ; foo = none ; 將foo置為空字符串
          ; foo = "none" ; 將foo置為字符串''none''
          ;
          ; 如果你值設(shè)置中使用常量,而這些常量屬于動態(tài)調(diào)入的擴展庫(不是 PHP 的擴展,就是
          ; Zend 的擴展),你僅可以調(diào)入這些擴展的行*之后*使用這些常量.
          ;
          ; 所有在 php.ini-dist 文件里設(shè)定的值與內(nèi)建的默認值相同(這是說,如果 php.ini
          ; 沒被使用或者你刪掉了這些行,默認值與之相同).


          ;;;;;;;;;;;;;;;;;;;;
          ; 語言選項 ;
          ;;;;;;;;;;;;;;;;;;;;

          engine = On
          ; 使 PHP scripting language engine(PHP 腳本語言引擎)在 Apache下有效.
          short_open_tag = On
          ; 允許 tags 將被識別.
          asp_tags = Off
          ; 允許ASP-style tags
          precision = 14
          ; 浮點類型數(shù)顯示時的有效位數(shù)

          y2k_compliance = Off
          ; 是否打開 2000年適應(yīng) (可能在非Y2K適應(yīng)的瀏覽器中導(dǎo)致問題)

          output_buffering = Off
          ; 輸出緩存允許你甚至在輸出正文內(nèi)容之后發(fā)送 header(標頭,包括cookies)行
          ; 其代價是輸出層減慢一點點速度.你可以使用輸出緩存在運行時打開輸出緩存,
          ; 或者在這里將指示設(shè)為 On 而使得所有文件的輸出緩存打開.
          output_handler = ; 你可以重定向你的腳本的所有輸出到一個函數(shù),
          ; 那樣做可能對處理或以日志記錄它有用.
          ; 例如若你將這個output_handler 設(shè)為"ob_gzhandler",
          ; 則輸出會被透明地為支持gzip或deflate編碼的瀏覽器壓縮.
          ; 設(shè)一個輸出處理器自動地打開輸出緩沖.

          implicit_flush = Off
          ; 強制flush(刷新)讓PHP 告訴輸出層在每個輸出塊之后自動刷新自身數(shù)據(jù).
          ; 這等效于在每個 print() 或 echo() 調(diào)用和每個 HTML 塊后調(diào)用flush()函數(shù).
          ; 打開這項設(shè)置會導(dǎo)致嚴重的運行時沖突,建議僅在debug過程中打開.

          allow_call_time_pass_reference = On
          ; 是否讓強迫函數(shù)調(diào)用時按引用傳遞參數(shù).這一方法遭到抗議,
          ; 并可能在將來版本的PHP/Zend里不再支持.
          ; 受到鼓勵的指定哪些參數(shù)按引用傳遞的方法是在函數(shù)聲明里.
          ; 你被鼓勵嘗試關(guān)閉這一選項并確認你的腳本仍能正常工作,以保證在將來版本的語言里
          ; 它們?nèi)阅芄ぷ?(你將在每次使用該特點時得到一個警告,而參數(shù)將按值而不是按引用
          ; 傳遞).

          ; Safe Mode 安全模式
          safe_mode = Off
          safe_mode_exec_dir =
          safe_mode_allowed_env_vars = PHP_
          ; ?Setting certain environment variables
          ; ?may be a potential security breach.
          ; 該指示包含用逗號分隔的前綴列表.安全模式中,用戶僅可以替換
          ; 以在此列出的前綴開頭的環(huán)境變量的值.
          ; 默認地,用戶將僅能 設(shè)定以PHP_開頭的環(huán)境變量,(如: PHP_FOO=BAR).
          ; 注意: 如果這一指示為空,PHP 將讓用戶更改任意環(huán)境變量!

          safe_mode_protected_env_vars = LD_LIBRARY_PATH
          ; 這條指示包含一個用逗號分隔的環(huán)境變量列表,那是最終用戶將不能用putenv () 更改的.
          ; 這些變量甚至在safe_mode_allowed_env_vars 設(shè)置為允許的情況下得到保護.

          disable_functions =
          ; 這條指示讓你可以為了安全的原因讓特定函數(shù)失效.
          ; 它接受一個用逗號分隔的函數(shù)名列表.
          ; 這條指示 *不受* 安全模式是否打開的影響.

          ; 語法高亮模式的色彩.
          ; 只要能被接受的東西就能工作.

          highlight.string = #DD0000
          highlight.comment = #FF8000
          highlight.keyword = #007700
          highlight.bg = #FFFFFF
          highlight.default = #0000BB
          highlight.html = #000000

          ; Misc 雜項
          expose_php = Off
          ; 決定 PHP 是否標示它裝在服務(wù)器上的事實(例如:加在它 —PHP—給Web服務(wù)
          ; 發(fā)送的信號上).
          ; (我個人的意見,在出現(xiàn)什么power-by的header的時候,把這關(guān)掉.)
          ; 它不會有安全上的威脅, 但它使檢查你的服務(wù)器上是否安裝了PHP成為了可能.


          ;;;;;;;;;;;;;;;;;;;
          ; Resource Limits ;
          ;;;;;;;;;;;;;;;;;;;

          max_execution_time = 30 ; 每個腳本的最大執(zhí)行時間, 按秒計
          memory_limit = 8388608 ; 一個腳本最大可使用的內(nèi)存總量 (這里是8MB)


          ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
          ; Error handling and logging ;
          ; 出錯控制和登記 ;
          ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
          ; 錯誤報告是按位的.或者將數(shù)字加起來得到想要的錯誤報告等級.
          ; E_ALL - 所有的錯誤和警告
          ; E_ERROR - 致命性運行時錯
          ; E_WARNING - 運行時警告(非致命性錯)
          ; E_PARSE - 編譯時解析錯誤
          ; E_NOTICE - 運行時提醒(這些經(jīng)常是是你的代碼的bug引起的,
          ;也可能是有意的行為造成的.(如:基于未初始化的變量自動初始化為一個
          ;空字符串的事實而使用一個未初始化的變量)

          ; E_CORE_ERROR - 發(fā)生于PHP啟動時初始化過程中的致命錯誤
          ; E_CORE_WARNING - 發(fā)生于PHP啟動時初始化過程中的警告(非致命性錯)
          ; E_COMPILE_ERROR - 編譯時致命性錯
          ; E_COMPILE_WARNING - 編譯時警告(非致命性錯)
          ; E_USER_ERROR - 用戶產(chǎn)生的出錯消息
          ; E_USER_WARNING - 用戶產(chǎn)生的警告消息
          ; E_USER_NOTICE - 用戶產(chǎn)生的提醒消息
          ; 例子:
          ; error_reporting = E_ALL & ~E_NOTICE ; 顯示所有的錯誤,除了提醒
          ; error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR ; 僅顯示錯誤
          error_reporting = E_ALL & ~E_NOTICE ; 顯示所有的錯誤,除了提醒
          display_errors = On ; 顯示出錯誤信息(作為輸出的一部分)
          ; 在最終發(fā)布的web站點上,強烈建議你關(guān)掉這個特性,并使用
          ; 錯誤日志代替(參看下面).
          ; 在最終發(fā)布的web站點繼續(xù)讓 display_errors 有效可能
          ; 暴露一些有關(guān)安全的信息,例如你的web服務(wù)上的文件路徑、
          ; 你的數(shù)據(jù)庫規(guī)劃或別的信息.
          display_startup_errors = Off ; 甚至當(dāng)display_erroes打開了,發(fā)生于PHP的啟動的步驟中
          ; 的錯誤也不會被顯示.
          ; 強烈建議保持使 display_startup_errors 關(guān)閉,
          ; 除了在改錯過程中.
          log_errors = Off ; 在日志文件里記錄錯誤(服務(wù)器指定的日志,stderr標準錯誤輸出,或error_log(下面的))
          ; 正如上面說明的那樣,強烈建議你在最終發(fā)布的web站點以日志記錄錯誤
          ; 取代直接錯誤輸出.

          track_errors = Off ; 保存最近一個 錯誤/警告 消息于變量 $php_errormsg (boolean)
          ;error_prepend_string = "" ; 于錯誤信息前輸出的字符串
          ;error_append_string = "" ; 于錯誤信息后輸出的字符串
          ;error_log = filename ; 記錄錯誤日志于指定文件
          ;error_log = syslog ; 記錄錯誤日志于系統(tǒng)日志 syslog (NT 下的事件日志, Windows 95下無效)
          warn_plus_overloading = Off ; 當(dāng)將‘+’用于字符串時警告


          ;;;;;;;;;;;;;;;;;
          ; Data Handling ;
          ;;;;;;;;;;;;;;;;;
          variables_order = "EGPCS" ; 這條指示描述了PHP 記錄
          ; GET, POST, Cookie, Environment and Built-in 這些變量的順序.
          ; (以 G, P, C, E & S 代表,通常以 EGPCS 或 GPC 的方式引用).
          ; 按從左到右記錄,新值取代舊值.

          register_globals = On ; 是否將這些 EGPCS 變量注冊為全局變量.
          ; 若你不想讓用戶數(shù)據(jù)不在全局范圍內(nèi)混亂的話,你可能想關(guān)閉它.
          ; 這和 track_vars 連起來用更有意義 — 這樣你可以通過
          ; $HTTP_*_VARS[] 數(shù)組訪問所有的GPC變量.

          register_argc_argv = On ; 這條指示告訴 PHP 是否聲明 argv和argc 變量
          ; (注:這里argv為數(shù)組,argc為變量數(shù))
          ; (其中包含用GET方法傳來的數(shù)據(jù)).
          ; 若你不想用這些變量,你應(yīng)當(dāng)關(guān)掉它以提高性能.

          track_vars = On ; 使$HTTP_*_VARS[]數(shù)組有效,這里*在使用時用
          ; ENV, POST, GET, COOKIE or SERVER替換
          post_max_size = 8M ; PHP將接受的POST數(shù)據(jù)最大大小.


          gpc_order = "GPC" ; 這條指示被人反對.用 variables_order 代替.

          ; Magic quotes
          magic_quotes_gpc = On ; 在輸入的GET/POST/Cookie數(shù)據(jù)里使用魔術(shù)引用
          ; (原文就這樣,呵呵,所謂magic quotes 應(yīng)該是指用轉(zhuǎn)義符加在引用性的控制字符上,如 \''....)
          magic_quotes_runtime= Off ; 對運行時產(chǎn)生的數(shù)據(jù)使用魔術(shù)引用,
          ; 例如:用SQL查詢得到的數(shù)據(jù),用exec()函數(shù)得到的數(shù)據(jù),等等
          magic_quotes_sybase = Off ; 采用 Sybase形式的魔術(shù)引用(用 '''' 脫出 '' 而不用 \'')

          ; 自動在 PHP 文檔之前和之后添加文件
          auto_prepend_file =
          auto_append_file =

          ; 象4.04b4一樣,PHP 默認地總是在 “Content-type:” 頭標輸出一個字符的編碼方式.
          ; 讓輸出字符集失效,只要設(shè)置為空.
          ; PHP 的內(nèi)建默認值是 text/html
          default_mimetype = "text/html"
          ;default_charset = "iso-8859-1"

          ;;;;;;;;;;;;;;;;;;;;;;;;;
          ; Paths and Directories ;
          ;;;;;;;;;;;;;;;;;;;;;;;;;
          include_path = ; include 路徑設(shè)置,UNIX: "/path1:/path2" Windows: "\path1;\path2"
          doc_root = ; php 頁面的根路徑,僅在非空時有效
          user_dir = ; 告知 php 在使用 /~username 打開腳本時到哪個目錄下去找,僅在非空時有效
          ;upload_tmp_dir = ; 存放用HTTP協(xié)議上載的文件的臨時目錄(在沒指定時使用系統(tǒng)默認的)
          upload_max_filesize = 2097152 ; 文件上載默認地限制為2 Meg
          extension_dir = c:\php\ ; 存放可加載的擴充庫(模塊)的目錄
          enable_dl = On ; 是否使dl()有效.
          ; 在多線程的服務(wù)器上 dl()函數(shù)*不能*很好地工作,
          ; 例如IIS or Zeus,并在其上默認為禁止


          ;;;;;;;;;;;;;;;;
          ; File Uploads ;
          ;;;;;;;;;;;;;;;;
          file_uploads = On ; 是否允許HTTP方式文件上載
          ;upload_tmp_dir = ; 用于HTTP上載的文件的臨時目錄(未指定則使用系統(tǒng)默認)
          upload_max_filesize = 2M ; 上載文件的最大許可大小

          ; Fopen wrappers ;
          ;;;;;;;;;;;;;;;;;;
          allow_url_fopen = On ; 是否允許把URLs當(dāng)作http:.. 或把文件當(dāng)作ftp:...


          ;;;;;;;;;;;;;;;;;;;;;;
          ; 動態(tài)擴展 ;
          ; Dynamic Extensions ;
          ;;;;;;;;;;;;;;;;;;;;;;
          ; 若你希望一個擴展庫自動加載,用下面的語法:
          ; extension=modulename.extension
          ; 例如,在windows上,
          ; extension=msql.dll
          ; or 在UNIX下,
          ; extension=msql.so
          ; 注意,這只應(yīng)當(dāng)是模塊的名字,不需要目錄信息放在里面.
          ; 用上面的 extension_dir 指示指定擴展庫的位置.


          ;Windows 擴展
          ;extension=php_nsmail.dll
          extension=php_calendar.dll
          ;extension=php_dbase.dll
          ;extension=php_filepro.dll
          extension=php_gd.dll
          ;extension=php_dbm.dll
          ;extension=php_mssql.dll
          ;extension=php_zlib.dll
          ;extension=php_filepro.dll
          ;extension=php_imap4r2.dll
          ;extension=php_ldap.dll
          ;extension=php_crypt.dll
          ;extension=php_msql2.dll
          ;extension=php_odbc.dll
          ; 注意, MySQL的支持現(xiàn)在是內(nèi)建的,因此,不需要用它的dll


          ;;;;;;;;;;;;;;;;;;;
          ; 模塊設(shè)定 ;
          ; Module Settings ;
          ;;;;;;;;;;;;;;;;;;;

          [Syslog]
          define_syslog_variables = Off ; 是否定義各種的系統(tǒng)日志變量
          ; 如:$LOG_PID, $LOG_CRON, 等等.
          ; 關(guān)掉它是個提高效率的好主意.
          ; 運行時,你可以調(diào)用函數(shù)define_syslog_variables(),來定義這些變量


          [mail function]
          SMTP = localhost ;僅用于win32系統(tǒng)
          sendmail_from = me@localhost.com ;僅用于win32系統(tǒng)
          ;sendmail_path = ;僅用于unix, 也可支持參數(shù)(默認的是''sendmail -t -i'')

          [Debugger]
          debugger.host = localhost
          debugger.port = 7869
          debugger.enabled = False

          [Logging]
          ; 這些配置指示用于示例的日志記錄機制.
          ; 看 examples/README.logging 以得到更多的解釋
          ;logging.method = db
          ;logging.directory = /path/to/log/directory

          [Java]
          ;java.class.path = .\php_java.jar
          ;java.home = c:\jdk
          ;java.library = c:\jdk\jre\bin\hotspot\jvm.dll
          ;java.library.path = .
          [SQL]
          sql.safe_mode = Off

          [ODBC]
          ;uodbc.default_db = Not yet implemented
          ;uodbc.default_user = Not yet implemented
          ;uodbc.default_pw = Not yet implemented
          uodbc.allow_persistent = On ; 允許或禁止 持久連接
          uodbc.check_persistent = On ; 在重用前檢查連接是否還可用
          uodbc.max_persistent = -1 ; 持久連接的最大數(shù).-1 代表無限制
          uodbc.max_links = -1 ; 連接的最大數(shù)目(持久和非持久).-1 代表無限制
          uodbc.defaultlrl = 4096 ; 控制 LONG 類型的字段.返回變量的字節(jié)數(shù),0 代表通過(?)0 means passthru
          uodbc.defaultbinmode = 1 ; 控制 二進制數(shù)據(jù).0 代表?????Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char
          ; 見有關(guān) odbc_binmode 和 odbc_longreadlen 的文檔以得到 uodbc.defaultlrl 和 uodbc.defaultbinmode 的解釋.

          [MySQL]
          mysql.allow_persistent = On ; 允許或禁止 持久連接
          mysql.max_persistent = -1 ; 持久連接的最大數(shù).-1 代表無限制
          mysql.max_links = -1 ; 連接的最大數(shù)目(持久和非持久).-1 代表無限制
          mysql.default_port = ; mysql_connect() 使用的默認端口,如不設(shè)置,mysql_connect()
          ; 將使用變量 $MYSQL_TCP_PORT,或在/etc/services 下的mysql-tcp 條目(unix),
          ; 或在編譯是定義的 MYSQL_PORT(按這樣的順序)
          ; Win32環(huán)境,將僅檢查MYSQL_PORT.
          mysql.default_socket = ; 用于本地 MySql 連接的默認的套接字名.為空,使用 MYSQL 內(nèi)建值

          mysql.default_host = ; mysql_connect() 默認使用的主機(安全模式下無效)
          mysql.default_user = ; mysql_connect() 默認使用的用戶名(安全模式下無效)
          mysql.default_password = ; mysql_connect() 默認使用的密碼(安全模式下無效)
          ; 注意,在這個文件下保存密碼通常是一個*壞*主意
          ; *任何*可以使用PHP訪問的用戶可以運行
          ; ''echo cfg_get_var("mysql.default_password")''來顯示那個密碼!
          ; 而且當(dāng)然地,任何有讀該文件權(quán)力的用戶也能看到那個密碼.

          [mSQL]
          msql.allow_persistent = On ; 允許或禁止 持久連接
          msql.max_persistent = -1 ; 持久連接的最大數(shù).-1 代表無限制
          msql.max_links = -1 ; 連接的最大數(shù)目(持久和非持久).-1 代表無限制

          [PostgresSQL]
          pgsql.allow_persistent = On ; 允許或禁止 持久連接
          pgsql.max_persistent = -1 ; 持久連接的最大數(shù).-1 代表無限制
          pgsql.max_links = -1 ; 連接的最大數(shù)目(持久和非持久).-1 代表無限制

          [Sybase]
          sybase.allow_persistent = On ; 允許或禁止 持久連接
          sybase.max_persistent = -1 ; 持久連接的最大數(shù).-1 代表無限制
          sybase.max_links = -1 ; 連接的最大數(shù)目(持久和非持久).-1 代表無限制
          ;sybase.interface_file = "/usr/sybase/interfaces"
          sybase.min_error_severity = 10 ; 顯示的錯誤的最低嚴重性
          sybase.min_message_severity = 10 ; 顯示的消息的最低重要性
          sybase.compatability_mode = Off ; 與舊版的PHP 3.0 兼容的模式.若打開,這將導(dǎo)致 PHP 自動地
          ; 把根據(jù)結(jié)果的 Sybase 類型賦予它們,
          ; 而不是把它們?nèi)?dāng)成字符串.
          ; 這個兼容模式不會永遠留著,
          ; 因此,將你的代碼進行需要的修改,
          ; 并將該項關(guān)閉.

          [Sybase-CT]
          sybct.allow_persistent = On ; 允許或禁止 持久連接
          sybct.max_persistent = -1 ; 持久連接的最大數(shù).-1 代表無限制
          sybct.max_links = -1 ; 連接的最大數(shù)目(持久和非持久).-1 代表無限制
          sybct.min_server_severity = 10 ; 顯示的錯誤的最低嚴重性
          sybct.min_client_severity = 10 ; 顯示的消息的最低重要性

          [bcmath]
          bcmath.scale = 0 ; 用于所有bcmath函數(shù)的10十進制數(shù)數(shù)字的個數(shù)number of decimal digits for all bcmath functions

          [browscap]
          ;browscap = extra/browscap.ini
          browscap = C:\WIN\SYSTEM\inetsrv\browscap.ini
          [Informix]
          ifx.default_host = ; ifx_connect() 默認使用的主機(安全模式下無效)
          ifx.default_user = ; ifx_connect() 默認使用的用戶名(安全模式下無效)
          ifx.default_password = ; ifx_connect() 默認使用的密碼(安全模式下無效)
          ifx.allow_persistent = On ; 允許或禁止 持久連接
          ifx.max_persistent = -1 ; 持久連接的最大數(shù).-1 代表無限制
          ifx.max_links = -1 ; 連接的最大數(shù)目(持久和非持久).-1 代表無限制
          ifx.textasvarchar = 0 ; 若打開,select 狀態(tài)符返回一個 ‘text blob’字段的內(nèi)容,而不是它的id
          ifx.byteasvarchar = 0 ; 若打開,select 狀態(tài)符返回一個 ‘byte blob’字段的內(nèi)容,而不是它的id
          ifx.charasvarchar = 0 ; 追蹤從固定長度的字符列里剝離的空格.
          ; 可能對 Informix SE 用戶有效.
          ifx.blobinfile = 0 ; 若打開,text和byte blobs 的內(nèi)容被導(dǎo)出到一個文件
          ; 而不是保存到內(nèi)存.
          ifx.nullformat = 0 ; NULL(空)被作為空字段返回,除非,這里被設(shè)為1.
          ; 這種情況下(為1),NULL作為字串NULL返回.

          [Session]
          session.save_handler = files ; 用于保存/取回數(shù)據(jù)的控制方式
          session.save_path = C:\win\temp ; 在 save_handler 設(shè)為文件時傳給控制器的參數(shù),
          ; 這是數(shù)據(jù)文件將保存的路徑.
          session.use_cookies = 1 ; 是否使用cookies
          session.name = PHPSESSID
          ; 用在cookie里的session的名字
          session.auto_start = 0 ; 在請求啟動時初始化session
          session.cookie_lifetime = 0 ; 為按秒記的cookie的保存時間,
          ; 或為0時,直到瀏覽器被重啟
          session.cookie_path = / ; cookie的有效路徑
          session.cookie_domain = ; cookie的有效域
          session.serialize_handler = php ; 用于連接數(shù)據(jù)的控制器
          ; php是 PHP 的標準控制器.
          session.gc_probability = 1 ; 按百分比的''garbage collection(碎片整理)''進程
          ; 在每次 session 初始化的時候開始的可能性.
          session.gc_maxlifetime = 1440 ; 在這里數(shù)字所指的秒數(shù)后,保存的數(shù)據(jù)將被視為
          ; ''碎片(garbage)''并由gc 進程清理掉.
          session.referer_check = ; 檢查 HTTP引用以使額外包含于URLs中的ids無效
          session.entropy_length = 0 ; 從文件中讀取多少字節(jié)
          session.entropy_file = ; 指定這里建立 session id
          ; session.entropy_length = 16
          ; session.entropy_file = /dev/urandom
          session.cache_limiter = nocache ; 設(shè)為{nocache,private,public},以決定 HTTP 的
          ; 緩存問題
          session.cache_expire = 180 ; 文檔在 n 分鐘后過時
          session.use_trans_sid = 1 ; 使用過渡性的 sid 支持,若編譯時許可了
          ; --enable-trans-sid
          url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"

          [MSSQL]
          ;extension=php_mssql.dll
          mssql.allow_persistent = On ; 允許或禁止 持久連接
          mssql.max_persistent = -1 ; 持久連接的最大數(shù).-1 代表無限制
          mssql.max_links = -1 ; 連接的最大數(shù)目(持久和非持久).-1 代表無限制
          mssql.min_error_severity = 10 ; 顯示的錯誤的最低嚴重性
          mssql.min_message_severity = 10 ; 顯示的消息的最低重要性
          mssql.compatability_mode = Off ; 與舊版的PHP 3.0 兼容的模式.

          [Assertion]
          ; ?????
          ;assert.active = On ; ?assert(expr); active by default
          ;assert.warning = On ; issue a PHP warning for each failed assertion.
          ;assert.bail = Off ; don''t bail out by default.
          ;assert.callback = 0 ; user-function to be called if an assertion fails.
          ;assert.quiet_eval = 0 ; eval the expression with current error_reporting(). set to true if you want error_reporting(0) around the eval().

          [Ingres II]
          ii.allow_persistent = On ; 允許或禁止 持久連接
          ii.max_persistent = -1 ; 持久連接的最大數(shù).-1 代表無限制
          ii.max_links = -1 ; 連接的最大數(shù)目(持久和非持久).-1 代表無限制
          ii.default_database = ; 默認 database (format : [node_id::]dbname[/srv_class]
          ii.default_user = ; 默認 user
          ii.default_password = ; 默認 password

          [Verisign Payflow Pro]
          pfpro.defaulthost = "test.signio.com" ; 默認的 Signio 服務(wù)器
          pfpro.defaultport = 443 ; 連接的默認端口
          pfpro.defaulttimeout = 30 ; 按秒計的默認超時時間

          ; pfpro.proxyaddress = ; 默認的代理的 IP 地址(如果需要)
          ; pfpro.proxyport = ; 默認的代理的端口
          ; pfpro.proxylogon = ; 默認的代理的登錄(logon 用戶名)
          ; pfpro.proxypassword = ; 默認的代理的密碼

          [Sockets]
          sockets.use_system_read = On ; 使用系統(tǒng)的read() 函數(shù)替代 php_read()封裝
          ; Local Variables: (局部變量)
          ; tab-width: 4
          ; End:
          -------
          posted @ 2006-03-11 21:07 爪哇之家 閱讀(228) | 評論 (0)編輯 收藏

          http://cosoft.org.cn/
          湖北省軟件公共開發(fā)平臺http://gro.clinux.org/
          posted @ 2005-12-12 13:26 爪哇之家 閱讀(356) | 評論 (0)編輯 收藏

           1、到底在哪用cascade="..."?

          cascade屬性并不是多對多關(guān)系一定要用的,有了它只是讓我們在插入或刪除對像時更方便一些,只要在cascade的源頭上插入或是刪除,所有 cascade的關(guān)系就會被自己動的插入或是刪除。便是為了能正確的cascade,unsaved-value是個很重要的屬性。Hibernate通 過這個屬性來判斷一個對象應(yīng)該save還是update,如果這個對象的id是unsaved-value的話,那說明這個對象不是 persistence object要save(insert);如果id是非unsaved-value的話,那說明這個對象是persistence object(數(shù)據(jù)庫中已存在),只要update就行了。saveOrUpdate方法用的也是這個機制。

          2、到底在哪用inverse="ture"?

          inverse屬性默認是false的,就是說關(guān)系的兩端都來維護關(guān)系。這個意思就是說,如有一個Student, Teacher和TeacherStudent表,Student和Teacher是多對多對多關(guān)系,這個關(guān)系由TeacherStudent這個表來表 現(xiàn)。那么什么時候插入或刪除TeacherStudent表中的記錄來維護關(guān)系呢?在用hibernate時,我們不會顯示的對 TeacherStudent表做操作。對TeacherStudent的操作是hibernate幫我們做的。hibernate就是看hbm文件中指 定的是"誰"維護關(guān)系,那個在插入或刪除"誰"時,就會處發(fā)對關(guān)系表的操作。前提是"誰"這個對象已經(jīng)知道這個關(guān)系了,就是說關(guān)系另一頭的對象已經(jīng)set 或是add到"誰"這個對象里來了。前面說過inverse默認是false,就是關(guān)系的兩端都維護關(guān)系,對其中任一個操作都會處發(fā)對表系表的操作。當(dāng)在 關(guān)系的一頭,如Student中的bag或set中用了inverse="true"時,那就代表關(guān)系是由另一關(guān)維護的(Teacher)。就是說當(dāng)這插 入Student時,不會操作TeacherStudent表,即使Student已經(jīng)知道了關(guān)系。只有當(dāng)Teacher插入或刪除時才會處發(fā)對關(guān)系表的 操作。所以,當(dāng)關(guān)系的兩頭都用inverse="true"是不對的,就會導(dǎo)致任何操作都不處發(fā)對關(guān)系表的操作。當(dāng)兩端都是inverse= "false"或是default值是,在代碼對關(guān)系顯示的維護也是不對的,會導(dǎo)致在關(guān)系表中插入兩次關(guān)系。

          在一對多關(guān)系中inverse就更有意義了。在多對多中,在哪端inverse="true"效果差不多(在效率上)。但是在一對多中,如果要一方維護關(guān) 系,就會使在插入或是刪除"一"方時去update"多"方的每一個與這個"一"的對象有關(guān)系的對象。而如果讓"多"方面維護關(guān)系時就不會有update 操作,因為關(guān)系就是在多方的對象中的,直指插入或是刪除多方對象就行了。當(dāng)然這時也要遍歷"多"方的每一個對象顯示的操作修關(guān)系的變化體現(xiàn)到DB中。不管 怎樣說,還是讓"多"方維護關(guān)系更直觀一些。

          3、cascade和inverse有什么區(qū)別?

          可以這樣理解,cascade定義的是關(guān)系兩端對象到對象的級聯(lián)關(guān)系;而inverse定義的是關(guān)系和對象的級聯(lián)關(guān)系。

          4、 net.sf.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations): 2, of class: Xxxxx

          這個問題出現(xiàn)在要刪除關(guān)系的一頭時。如,要刪除一個已經(jīng)和Student有關(guān)系的Teacher。當(dāng)tx.commit();時才會拋出這個異常。這時一 個在關(guān)系另一頭的Student對象中的Set或是List中把這個Teacher對象顯示的remove掉,再session.delete(這個 teacher);。這是為了防止在Student端有cascade時把這個Teacher對象再存回DB。所以,這個異常的只有在Student的關(guān) 系定義中有cascade="...",而且沒有像上面說的顯示的解除關(guān)系時才會出現(xiàn)。所以防止出現(xiàn)這個異常的方法就是:1,在Student端不用 cascade;2,或是用cascade的話,就顯示的刪除對像中的關(guān)系。 3,在Teacher端要用cascade

          5、net.sf.hibernate.HibernateException: identifier of an instance of my.MyObject altered from N to N

          這個異常其時不是多對多中常遇到的,但是這個異常的提示不make sense,所以提一下,是因為id的java對象中的type和hbm文件中定義的不一樣,如:java中用long,而hbm中用type= "integer",并且generator用的是identity時就會出現(xiàn)

          6、(To be add) 把hibernate遇到常見異常會一點點加上來的
          posted @ 2005-12-06 00:36 爪哇之家 閱讀(454) | 評論 (0)編輯 收藏

            相信使用過Spring + Hibernate開發(fā)過的人,在寫DAO的時候都使用過Spring的HibernateDaoSupport類,然后在實現(xiàn)的時候就可以很輕松的使用 getHibernateTemplate()方法之后就可以調(diào)用save()、delete()、update()等Hibernate的 Session的操作,很簡單。比如:

          getHibernateTemplate().save(user);

          這樣一句話在我們沒有Spring的時候就必須使用如下的代碼才能完成:

          Session session = HibernateUtil.getSession();
          Transaction tx = session.beginTransaction();
          session.save(user);
          tx.commit();
          HibernateUtil.colseSession();
          這里還省去了異常處理,同時使用了HibernateUtil類來簡化從SessionFactory獲取Session,以及關(guān)閉Session等處理。

          但是我們在使用Hibernate的時候不一定會使用Spring,所以我們可以模仿Spring的處理方式,做一個Hibernate的模板,使用模板模式來簡化我們的開發(fā),其主要的目的就是為了簡化開發(fā),使代碼達到最大話的重用。

          1.我們現(xiàn)來實現(xiàn)一個Hibernate模板:

          package kick.hibernate;

          import net.sf.hibernate.HibernateException;
          import net.sf.hibernate.Session;
          import net.sf.hibernate.Transaction;

          public class HibernateTemplate{
          public static Object run(HibernateCallback callback) throws HibernateException{
          Session session = null;
          Transaction tx = null;
          try {
          session = HibernateSessionutil.currentSession();
          tx = session.beginTransaction();
          Object result = callback.execute(session);
          tx.commit();
          session.flush();
          return result;
          } catch (HibernateException e) {
          tx.rollback();
          return null;
          } finally {
          HibernateSessionutil.closeSession();
          }
          }
          這里類很簡單,就是使用一個實現(xiàn)HibernateCallBack接口的一個回掉類,在調(diào)用的時候根據(jù)具體的需求實現(xiàn)HibernateCallBack類。

          2.回掉接口HibernateCallBack:
          package kick.hibernate;

          import net.sf.hibernate.HibernateException;
          import net.sf.hibernate.Session;

          public interface HibernateCallBack {
          Object execute(Session session)throws HibernateException;
          }

          好了,到此為止我們就可以使用這個模板了,可以用如下的方式使用:
          HibernateTemplate.run(new HibernateCallback() {
          public Object execute(Session session) throws HibernateException {
          session.save(user);
          return null;
          }
          });

          看看,是不是省去了很多代碼?^_^

          不過這還沒有達到想Spring里面那樣簡單,不要著急,“面包會有的”呵呵,我們會達到的。

          3.實現(xiàn)我們自己的HibernateSupport類:

          從上面的代碼可以看出,我們要自己實現(xiàn)HibernateCallback接口,而每次我們實現(xiàn)的時候又重復(fù)代碼了。因此我們再抽象,講這些實現(xiàn)放到我們 的HibernateSupport類里面去。看看我們上面的代碼就知道我們實現(xiàn)HibernateCallback接口的目的就是為了調(diào)用 session.save()方法,即session的方法。代碼如下:

          package kick.hibernate;

          import java.io.Serializable;

          import net.sf.hibernate.HibernateException;
          import net.sf.hibernate.Session;

          public class HibernateSupport{

          public Object save(final Object object) throws HibernateException{
          return HibernateTemplate.run(new HibernateCallBack(){

          public Object execute(Session session) throws HibernateException {
          session.save(object);
          return null;
          }

          });
          }
          public Object save(final Object object,final Serializable id) throws HibernateException{
          return HibernateTemplate.run(new HibernateCallBack(){

          public Object execute() throws HibernateException {
          session.save(object,id);
          return null;
          }

          });
          }

          public Object saveOrUpdate(final Object object) throws HibernateException{
          return HibernateTemplate.run(new HibernateCallBack(){

          public Object execute(Session session) throws HibernateException {
          session.saveOrUpdate(object);
          return null;
          }

          });
          }
          ……………………………………………………………………………………
          ……………………………………………………………………………………
          ……………………………………………………………………………………

          調(diào)用一些其他的session的方法。

          }

          4.抽象RootDao:

          該類為抽象類,在實現(xiàn)自己的DAO類的時候繼承該類。該類的有一個HibernateSupport的對象,在子類中使用getHibernateTemplate()方法就可以得到該對象,然后調(diào)用它對應(yīng)的方法。實現(xiàn)代碼如下:

          package kick.hibernate.dao;

          import net.sf.hibernate.Session;
          import kick.hibernate.HibernateTemplateImpl;

          public abstract class RootDao {
          private HibernateSupport temp = null;

          /**
          * @return Returns the temp.
          */
          public HibernateTemplateImpl getHibernateTemplate(Session session) {
          return new HibernateSupport();
          }
          }

          5.使用例子:

          定義一個自己的DAO類,實現(xiàn)代碼如下:

          public class UserDaoImpl extends RootDao implements UserDaoInterface{
          public void saveUser(User user) throws KickException {
          getHibernateTemplate().saveOrUpdate(user);
          }
          ……………………………………………………………………………………
          實現(xiàn)其他的方法
          ……………………………………………………………………………………
          }
          看到?jīng)]有?實現(xiàn)了Spring的HibernateSupport了吧?^_^
          posted @ 2005-12-06 00:34 爪哇之家 閱讀(386) | 評論 (1)編輯 收藏

          主站蜘蛛池模板: 南康市| 靖江市| 蒲江县| 台东市| 雅江县| 宁城县| 龙南县| 广南县| 九江市| 江津市| 永川市| 陵川县| 溧水县| 东乡县| 阳新县| 河源市| 淅川县| 嵊泗县| 濉溪县| 庐江县| 平和县| 伊金霍洛旗| 镇坪县| 东乡| 绵阳市| 社旗县| 塘沽区| 天门市| 清水河县| 汉中市| 巨野县| 伽师县| 菏泽市| 阿克苏市| 武宣县| 日喀则市| 阜南县| 浦城县| 诏安县| 炎陵县| 淮阳县|