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

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

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

    MDA/MDD/TDD/DDD/DDDDDDD
    posts - 536, comments - 111, trackbacks - 0, articles - 0
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    1,摘自http://www.javaeye.com/topic/13335
    Oracle9iR2和Oracle10G以上版本已經(jīng)可以直接進(jìn)行clob的插入,條件查詢,模糊查詢了。這一點(diǎn),你可以試一試,我這周周一剛剛在 Oracle10.1.0.3 Linux x86上面試過(guò),不管是where還是like,就像varchar2一樣處理。
    另外將Oracle JDBC Driver升級(jí)到最新的版本,即Oracle10.1.0版本同時(shí)發(fā)布的odjbc14.jar,那么你將直接可以對(duì)clob進(jìn)行操作。
    也就是說(shuō),如果你使用最新的Oracle JDBC Driver,使用比較新的Oracle版本,你就可以直接像操作varchar2那樣操作clob,沒(méi)有任何限制了。
    4000字符的限制完全是因?yàn)镺racle的Thin Driver造成的,用OCI Driver是不會(huì)有這個(gè)問(wèn)題的。也就是說(shuō),這個(gè)限制與驅(qū)動(dòng)相關(guān)與數(shù)據(jù)庫(kù)無(wú)關(guān)。
    我試過(guò)使用10g的驅(qū)動(dòng)跑9i的數(shù)據(jù)庫(kù),操作CLOB字段就和操作varchar2一樣,并且沒(méi)有4000的限制。一換成9i的Driver就錯(cuò)誤依舊。。。8i的沒(méi)有測(cè)試過(guò),不過(guò)原理應(yīng)該一樣。
    像Robbin說(shuō)的那樣,我用的是最新的最新的Oracle Database 10g (10.1.0.2.0) 驅(qū)動(dòng)程序,數(shù)據(jù)庫(kù)是Release 9.2.0.1.0 ,插入一條10萬(wàn)多字符的數(shù)據(jù)到clob類型的字段,拋出異常:Caused by: java.sql.SQLException: setString 只能處理少于 32766 個(gè)字符的字符串。我試了多次,還是無(wú)法解決。
    Robbin說(shuō)的沒(méi)錯(cuò),我試過(guò)了在xxx.hbm.xml中將數(shù)據(jù)庫(kù)中Clob類型的字段映射成Hibernate的text類型,沒(méi)有任何限制,但是映射成java.lang.String類型卻有32K大小的限制。
    oracle 10g 的驅(qū)動(dòng)的確好
    thin driver 也能順利按照 String 方式處理 Clob 字段,可以適用于 8.16 以后的所有版本
    映射成text在同一列中有多個(gè)clob字段的時(shí)候有bug,
    保存時(shí)會(huì)將后一個(gè)字段的內(nèi)容保存到前一個(gè)字段里面去,不知道什么原因,我實(shí)在有些莫名其妙。
    換成spring的ClobStringType后一切正常
    經(jīng)測(cè)試,使用 Oracle 10g 的 JDBC 驅(qū)動(dòng),可以把 LONG 類型的字段當(dāng)成超長(zhǎng)的 VARCHAR2 類型字段看待。
    注意:數(shù)據(jù)庫(kù)中應(yīng)該使用 LONG 型,而不是 CLOB 類型。使用 CLOB 類型,如果有中文,會(huì)莫名其妙的丟掉一些字符。這應(yīng)該是 Oracle 的一個(gè) bug。
    適用于 Oracle 9.2 以上版本的數(shù)據(jù)庫(kù)。(注意僅僅是使用 10g 的 JDBC 驅(qū)動(dòng)而已,即 ojdbc14.jar 包)

    參考:
    * Oracle JDBC 驅(qū)動(dòng)下載地址 http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html
    * Handling CLOBs - Made easy with Oracle JDBC 10g http://www.oracle.com/technology/sample_code/tech/java/codesnippet/jdbc/clob10g/handlingclobsinoraclejdbc10g.html

    posted @ 2009-07-31 00:05 leekiang 閱讀(925) | 評(píng)論 (0)編輯 收藏

    1,
    oracle10g裝了幾個(gè)實(shí)例,就會(huì)在service里看到多個(gè)OracleService,同時(shí)有多個(gè)OracleDBConsole,
    只有OracleDBConsole起來(lái)了,才能訪問(wèn)http://127.0.0.1:1158/em,
    那么如何知道每一個(gè)em的http端口呢?
    有人說(shuō)在oracle\product\10.2.0\db_1\sysman\config\emca.properties,
    看了一下只有默認(rèn)端口DBCONTROL_HTTP_PORT_DEFAULT為1158
    后來(lái)在oracle\product\10.2.0\db_1\install\install\portlist.ini里
    發(fā)現(xiàn)了每一個(gè)實(shí)例的Enterprise Manager Console HTTP 端口

    posted @ 2009-07-30 16:41 leekiang 閱讀(263) | 評(píng)論 (0)編輯 收藏

    這個(gè)startup.bat腳本就是提供給使用者用來(lái)修改的,我們可以在其中設(shè)置JAVA_HOMECATALINA_HOME等環(huán)境變量,但我們并不需要深入到較為復(fù)雜的catalina.bat腳本中,這正是startup.bat腳本的真正用意所在。我們知道,軟件設(shè)計(jì)模式中有一個(gè)重要的原則就是開(kāi)閉原則,即我們可以允許別人擴(kuò)展我們的程序,但在程序發(fā)布后,我們拒絕任何修改,因?yàn)樾薷臅?huì)產(chǎn)生新的Bug,使得我們已經(jīng)Bug-free的程序又要重新測(cè)試。開(kāi)閉原則是面向?qū)ο笫澜缰械囊粋€(gè)非常重要的原則,我們可以把這個(gè)原則從Java類擴(kuò)展至源代碼級(jí)別。startup腳本就是要求用戶不要修改catalina.bat腳本,這是符合軟件設(shè)計(jì)思想的。我們?nèi)绻胍獜氐棕瀼剡@個(gè)重要的軟件設(shè)計(jì)原則,可以寫(xiě)一個(gè)新腳本tomcat.bat,腳本內(nèi)容大致如下:

    set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_09
    set CATALINA_HOME=C:\carl\it\tomcat_research\jakarta-tomcat-5.0.28
    call %CATALINA_HOME%\bin\startup.bat

    這個(gè)tomcat.bat文件可以存放在任何目錄并能執(zhí)行,并且不需要修改tomcat自帶的任何腳本及其它環(huán)境變量,這就徹底貫徹了開(kāi)閉原則。

    淺析Tomcat的啟動(dòng) http://www.56base.com/blog/u/evian/archives/2008/118.html

    posted @ 2009-07-30 13:57 leekiang 閱讀(281) | 評(píng)論 (0)編輯 收藏

    前幾天做項(xiàng)目的過(guò)程中,利用到Apache項(xiàng)目中的POI來(lái)實(shí)現(xiàn)基于Excel的數(shù)據(jù)模板輸出,其中利用公式的方式嵌入超鏈接進(jìn)行網(wǎng)頁(yè)鏈接訪問(wèn)。 ?
    ? 自己做了一些處理EXCEL單元格的方法,但在進(jìn)行公式處理時(shí),由于POI的問(wèn)題,顯示的公式信息一直都是亂碼,后來(lái)在網(wǎng)上找到一些朋友關(guān)于這些問(wèn)題的解 決方法,感覺(jué)幫助很大。因此,結(jié)合自己的實(shí)踐經(jīng)驗(yàn),把修改POI內(nèi)部源碼的過(guò)程寫(xiě)出來(lái),以其對(duì)資料做一整理,希望對(duì)后來(lái)的朋友也有所幫助。 ?
    ? ?
    ? 1、首先,上網(wǎng)找到POI的發(fā)布版本的源碼,我下的是poi-src-2.5.1-final-20040804.zip這個(gè)版本。 ?
    ? 2、找到StringPtg.java這個(gè)文件,在解壓后的\src\java\org\apache\poi\hssf\record\formula文件夾下面 ?
    ? 3、利用文本編輯工具對(duì)StringPtg.java進(jìn)行編輯 ?
    ? 4、找到public ? StringPtg(byte ? [] ? data, ? int ? offset)這個(gè)方法, ?
    ? 對(duì)其修改如下 ?
    ? /** ? Create ? a ? StringPtg ? from ? a ? byte ? array ? read ? from ? disk ? */ ?
    ? ? ? ? ? public ? StringPtg(byte ? [] ? data, ? int ? offset) ?
    ? ? ? ? ? { ?
    ? ? ? ? ? ? ? ? ? offset++; ?
    ? ? ? ? ? ? ? ? ? field_1_length ? = ? data[offset]; ?
    ? ? ? ? ? ? ? ? ? field_2_options ? = ? data[offset+1]; ?
    ? ? ? ? ? ? ? ? ? if ? (fHighByte.isSet(field_2_options)) ? { ?
    ? ? ? ? ? ? ? ? ? ? ? ? ? // ? modified ? by ? rainsoft ? ?
    ? ? ? ? ? ? ? ? ? ? ? ? ? // ? in ? excel ? chinese ? is ? stored ? two ? bytes ? HIGH ? bytes,LOW ? bytes ?
    ? ? ? ? ? ? ? ? ? ? ? ? ? // ? field_3_string= ? StringUtil.getFromUnicode(data,offset+2,field_1_length); ?
    ? ? ? ? ? ? ? ? ? ? ? ? ? field_3_string= ? StringUtil.getFromUnicodeHigh(data,offset+2,field_1_length); ?
    ? ? ? ? ? ? ? ? ? }else ? { ?
    ? ? ? ? ? ? ? ? ? ? ? ? ? field_3_string=StringUtil.getFromCompressedUnicode(data,offset+2,field_1_length); ?
    ? ? ? ? ? ? ? ? ? } ?
    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
    ? ? ? ? ? ? ? ? ? //setValue(new ? String(data, ? offset+3, ? data[offset+1] ? + ? 256*data[offset+2])); ?
    ? ? ? ? ? } ?
    ? 其中主要利用getFromUnicodeHigh方法替換原有的方法進(jìn)行處理。 ?
    ? 5、再查找StringPtg(String ? value),做如下的修改, ?
    ? ?
    ? public ? StringPtg(String ? value) ? { ?
    ? ? ? ? ? ? ? ? ? if ? (value.length() ? >255) ? { ?
    ? ? ? ? ? ? ? ? ? ? ? ? ? throw ? new ? IllegalArgumentException("String ? literals ? in ? formulas ? cant ? be ? bigger ? than ? 255 ? characters ? ASCII"); ?
    ? ? ? ? ? ? ? ? ? } ?
    ? ? ? ? ? ? ? ? ? this.field_2_options=0; ?
    ? ? ? ? ? ? ? ? ? // ? add ? by ? rainsoft ?
    ? ? ? ? ? ? ? ? ? // ? two ? bytes ? char ? options ? must ? be ? "1" ? ? ? ? ? ? ?
    ? ? ? ? ? ? ? ? ? try ? { ?
    ? ? ? ? ? ? ? ? ? ? ? if ? (value.length()!=value.getBytes("GBK").length) ?
    ? ? ? ? ? ? ? ? ? ? ? ? ? this.field_2_options=1; ?
    ? ? ? ? ? ? ? ? ? } ? catch ? (Exception ? e) ? { ?
    ? ? ? ? ? ? ? ? ? } ?
    ? ? ? ? ? ? ? ? ? // ? end ? add ?
    ? ? ? ? ? ? ? ? ? this.fHighByte.setBoolean(field_2_options, ? false); ?
    ? ? ? ? ? ? ? ? ? this.field_3_string=value; ?
    ? ? ? ? ? ? ? ? ? this.field_1_length=(byte)value.length(); ? //for ? the ? moment, ? we ? support ? only ? ASCII ? strings ? in ? formulas ? we ? create ?
    ? ? ? ? ? } ?
    ? ?
    ? 6、至此對(duì)源文件的修改就結(jié)束了,下一步則需要對(duì)其進(jìn)行編譯輸出。 ?
    ? 7、利用docs/howtobuild.html的描述進(jìn)行編譯輸出。 ?
    ? 8、成功編譯輸出的POI???????.jar文件,復(fù)制到原有的編譯路徑,替換到原有的文件即可,最好刪除原有的 ? POI文件。?
    http://topic.csdn.net/t/20060309/10/4602637.html

    posted @ 2009-07-29 15:59 leekiang 閱讀(1376) | 評(píng)論 (0)編輯 收藏

    http://bbs.blueidea.com/archiver/tid-2938030.html
    http://tagsoup.com/cookbook/css/fixed/
    http://bbs.51js.com/viewthread.php?tid=84761
    http://www.happinesz.cn/archives/991/
    網(wǎng)易論壇、鳳凰論壇

    posted @ 2009-07-23 15:16 leekiang 閱讀(216) | 評(píng)論 (0)編輯 收藏

    喜歡使用Firefox的朋友,一定安裝了許多插件來(lái)豐富瀏覽器的使用體驗(yàn)。但是每當(dāng)重新安裝Firefox瀏覽器后,原先安裝的插件全都需要重新 安裝,浪費(fèi)了不少的時(shí)間。今天就介紹如何備份Firefox的方法,以后每次重裝完,只要恢復(fù)一下就能還原以前的Firefox配置便可,非常方便。

    Firefox瀏覽器的配置都被保存在下面的幾個(gè)文件夾下,其實(shí)方法十分簡(jiǎn)單,只要把下面的目錄備份了,再次安裝Firefox之后,將這幾個(gè)文件夾覆蓋就可以還原以前的配置了。
      c:\Documents?and?Settings\用戶名\Application Data\Mozilla\Firefox
      C:\Documents and Settings\用戶名\Local Settings\Application Data\Mozilla\Firefox

    http://meilanzh.blogspot.com/2009/02/firefox.html

    一、還原書(shū)簽:
    不知什么原因,突然firefow不能訪問(wèn)了,只好卸載后重裝。按照下列步驟恢復(fù)書(shū)簽。
    第一步:先將C:\Documents and Settings\用戶名\Application Data\Mozilla\Firefox\Profiles文件進(jìn)行復(fù)制。
    第二步:卸載firefox。
    第三步:重裝firefox。
    第四步:將profiles復(fù)制到原來(lái)位置。此時(shí)打開(kāi)firefox,可以發(fā)現(xiàn)原來(lái)的書(shū)簽并未恢復(fù)。
    第五步:按下shift+ctr+b鍵, 打開(kāi)書(shū)簽管理器。或直接點(diǎn)擊書(shū)簽菜單下的“管理書(shū)簽”。
    第六步:點(diǎn)擊“導(dǎo)入以及備份/恢復(fù)/選擇文件”,找到bookmarkbackups文件夾:C:\Documents and Settings\用戶名\Application Data\Mozilla\Firefox\Profiles\XXXXXXXXX.default\bookmarkbackups。
    第七步:選擇某日備份的書(shū)簽文件,如:bookmark-2009-01-31.json。點(diǎn)擊完成導(dǎo)入。
    這時(shí),再次打開(kāi)firefox,就可以看到原來(lái)的書(shū)簽了。

    二、還原插件
    將復(fù)制下來(lái)的profiles\extentensions\下的文件粘貼在安裝目錄下C:\Program Files\Firefox Plus\App\firefox\extensions里。打開(kāi)firefox,就可以看到原來(lái)的firefox了!

    posted @ 2009-07-23 13:30 leekiang 閱讀(1286) | 評(píng)論 (0)編輯 收藏

    [org.hibernate.event.def.AbstractFlushingEventListener] - Could not synchronize database state with session
    org.hibernate.HibernateException: Unexpected row count: 0 expected: 1
    ?? ?at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:32)

    ?? ?先用對(duì)象操作得到Person p = get(Person.class,35);
    ?? ?直連得到connection,執(zhí)行delete person where id=35
    ?? ?
    ?? ?事務(wù)提交前hibernate會(huì)對(duì)對(duì)象進(jìn)行檢查,看屬性是否有變化,如果有變化就會(huì)執(zhí)行update操作。
    ?? ?事務(wù)方法內(nèi)既有對(duì)象操作,又有sql時(shí),往往sql先執(zhí)行,
    ?? ?id=35的記錄已經(jīng)被刪了,再執(zhí)行update 35時(shí)就會(huì)報(bào)那個(gè)臭名昭著的HibernateException: Unexpected row count: 0 expected: 1,不能同步數(shù)據(jù)庫(kù)狀態(tài)
    ?? ?為什么有的記錄刪除時(shí)會(huì)update,有的卻沒(méi)有?開(kāi)始一直沒(méi)找到原因,因?yàn)閡pdate語(yǔ)句太長(zhǎng)了,
    ?? ?后來(lái)靈機(jī)一動(dòng),在映射里加了dynamic-update="true",update語(yǔ)句變成了可愛(ài)的update Person set zd=? where ID=?
    ?? ?一查AbstractPerson,發(fā)現(xiàn)getZd()被修改了:
    ?? ??? ?public String getZd() {
    ?? ??? ?if (zd != null)
    ?? ??? ??? ?return zd;
    ?? ??? ?else
    ?? ??? ??? ?return "";
    ?? ??? }
    ??? 這樣凡是zd為null的記錄,刪除時(shí)都會(huì)報(bào)錯(cuò)。
    ?? ?
    ?? ?總結(jié):(1)HQL和sql共用時(shí)要小心,一不小心就出現(xiàn)數(shù)據(jù)不同步,有空看看事務(wù)的處理
    ?? ?????? (2)映射的類里的get方法不要隨便修改

    posted @ 2009-07-22 11:13 leekiang 閱讀(2448) | 評(píng)論 (0)編輯 收藏

    Ajax的應(yīng)用中,由于安全的問(wèn)題,瀏覽器默認(rèn)是不支持跨域調(diào)用的。傳統(tǒng)解決的方法,包括:(參考http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/)

    Local proxy:
    Needs infrastructure (can't run a serverless client) and you get double-taxed on bandwidth and latency (remote - proxy - client).
    Flash:
    Remote host needs to deploy a crossdomain.xml file, Flash is relatively proprietary and opaque to use, requires learning a one-off moving target programming langage.
    Script tag:
    Difficult to know when the content is available, no standard methodology, can be considered a "security risk".

    以上方法都各有缺陷,都不是很好多解決方案。后來(lái)出現(xiàn)了一種叫JSON with Padding 的技術(shù),簡(jiǎn)稱 JSONP .(原理參考http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/),應(yīng) 用JSONP可以實(shí)現(xiàn)JSON數(shù)據(jù)的跨域調(diào)用。非常的幸運(yùn),JQuery1.2以后支持JSONP的應(yīng)用。下面?zhèn)戎卣f(shuō)明在JQuery中,Json的跨域 調(diào)用。

    ????? 應(yīng)用JSONP實(shí)現(xiàn)Json數(shù)據(jù)跨域調(diào)用,需要服務(wù)器端與客戶端的合作完成。引用Jquery官方的例子,客戶端掉用如下:

    $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?",
    function(data){
    $.each(data.items, function(i,item){
    $("<img/>").attr("src", item.media.m).appendTo("#images");
    if ( i == 3 ) return false;
    });
    });

    ?

    ??? 注意這里調(diào)用的地址中jsoncallback=?是關(guān)鍵的所在!其中,符號(hào)會(huì)被Query自動(dòng)替換成其他的回調(diào)方法的名稱,具體過(guò)程和原理我們這里不理 會(huì)。我們關(guān)心的是jsoncallback=?起什么作用了?原來(lái)jsoncallback=?被替換后,會(huì)把方法名稱傳給服務(wù)器。我們?cè)诜?wù)器端要做什 么工作呢?服務(wù)器要接受參數(shù)jsoncallback,然后把jsoncallback的值作為JSON數(shù)據(jù)方法名稱返回,比如服務(wù)器是JSP,我們會(huì)這 樣做:

    ?

    ????? ...

    ????? String jsoncallback=request.getParameter("jsoncallback");

    ????? ...

    ????? out.print(jsoncallback+"({\"account\":\"XX\",\"passed\":\"true\",\"error\":\"null\"})");

    ?

    Jquery取得的數(shù)據(jù)可能如下:

    ????? JQUET0988788({"account":"XX","passed":"true","error":"null"})

    ?

    總結(jié),用JSONP要做兩件事:

    ????? 1/請(qǐng)求地址加參數(shù):jsoncallback=?

    ????? 2/服務(wù)器段把jsoncallback的值作為方法名傳回來(lái),如JQUET098788(...)

    參考:

    http://www.javaeye.com/topic/169765

    http://www.javaeye.com/topic/260647

    posted @ 2009-07-19 01:48 leekiang 閱讀(2338) | 評(píng)論 (0)編輯 收藏

    父類(Father)如果定義了一個(gè)靜態(tài)方法,如:
    protected synchronized static void echo(String str) throws Exception
    {? ???
    ? ????? System.out.println(str);
    ? ? ? ? Thread.sleep(10000);
    }
    Son和Daughter繼承了父類,在兩個(gè)線程里面相繼調(diào)用Son.echo();和Daughte.echo.會(huì)發(fā)現(xiàn)后調(diào)用的要等到先調(diào)用的完后才能調(diào)用,所以echo方法并不是真正的被子類繼承了,它們用的還是Father的方法。
    如果把靜態(tài)方法改稱非靜態(tài)的,用new出來(lái)的對(duì)象調(diào)用則不會(huì)出現(xiàn)上述情況。

    static方法不能被override,而不是不能繼承.

    如果Son類里有個(gè)同樣的echo方法,
    然后Father p= new Son();p.echo();此時(shí)實(shí)際調(diào)用的是Father的,注意這與非靜態(tài)方法不一樣。

    如何調(diào)用父類的靜態(tài)私有方法?
    private?static?boolean test(String?s) thows Exception
    ????{
    ????? Class?c?
    = Test.class;
    ????? Method?m;
    ????? Object?ret?
    =?null;
    ? ??? m?=?c.getDeclaredMethod("test", new?Class[]?{ String.class});
    ????? m.setAccessible(
    true);//必須加
    ????? ret?
    =?m.invoke(null,?new?Object[]?{ s?});//第一個(gè)參數(shù)必須為null
    ? ? ?
    return?((Boolean)?ret).booleanValue();
    ????}


    再來(lái)一個(gè)例子:

    public?class?Father?{
    ????
    private?static?String?n?=?"";
    ????
    public?static?void?name()?{
    ????????n?
    =?"father";
    ????}
    ????
    public?static?String?getN()?{
    ????????
    return?n;
    ????}
    }

    public?class?Son?extends?Father?{
    ????
    private?static?String?n?=?"";
    ????
    public?static?String?getN()?{
    ????????
    return?n;
    ????}
    ????
    public?static?void?name()?{
    ????????
    //Father.name();
    ????????n="son";
    ????}
    }

    public?class?TestStatic?{
    ????
    public?static?void?main(String[]?args)?{
    ????????Son.name();??
    ? ? ? ? System.out.println(Father.getN()
    +"-"+Son.getN());
    ????}
    }
    如果Son沒(méi)有name()方法或者name()方法里是"Father.name();",則輸出是"father-"
    如果Son的name()方法有自己的實(shí)現(xiàn)(見(jiàn)上面代碼),則輸出"-son"。


    參考:
    http://bbs.chinaunix.net/archiver/?tid-583540.html
    http://www.tkk7.com/jiangmin/articles/69386.html
    http://www.tkk7.com/forgood/archive/2009/01/11/250870.html

    posted @ 2009-07-16 23:12 leekiang 閱讀(2083) | 評(píng)論 (1)編輯 收藏

    				
    						
    								
    如果引入jquery后再引入
    Scriptaculous的effects.js,就可能出現(xiàn)莫名其妙的問(wèn)題。
    jQuery("#id")正常,但類似于jQuery("name='test'")之類的查詢就會(huì)出錯(cuò)。
    原因是舊版本(1.5.1)的effects.js里有代碼污染了Array的call方法
    Array.prototype.call?=?function()?{
    ??
    var?args?=?arguments;
    ??
    this.each(function(f){?f.apply(this,?args)?});
    }

    參考一
    參考二
    http://www.javaeye.com/topic/84683
    http://www.javaeye.com/topic/184859

    posted @ 2009-06-11 14:50 leekiang 閱讀(373) | 評(píng)論 (0)編輯 收藏

    僅列出標(biāo)題
    共54頁(yè): First 上一頁(yè) 23 24 25 26 27 28 29 30 31 下一頁(yè) Last 
    主站蜘蛛池模板: 国产精品永久免费视频| 亚洲日韩国产成网在线观看| 毛片在线播放免费观看| 一区二区视频在线免费观看| 国产V片在线播放免费无码| 大地资源中文在线观看免费版 | 日韩一区二区三区免费播放| 好猛好深好爽好硬免费视频 | 中文字幕不卡免费视频| 免费A级毛片无码A∨| 成人免费午夜视频| 亚洲精品国产高清嫩草影院 | 黄色网址免费观看| 91av免费观看| 天天影视色香欲综合免费| 成人免费毛片观看| 久久久久噜噜噜亚洲熟女综合 | 亚洲ts人妖网站| 色费女人18女人毛片免费视频| 不卡视频免费在线观看| 午夜福利不卡片在线播放免费| gogo全球高清大胆亚洲| 日韩精品成人亚洲专区| 亚洲av无码片在线播放| 97久久国产亚洲精品超碰热| 无遮挡免费一区二区三区| 最近免费中文字幕大全免费版视频| 日本无吗免费一二区| 亚洲国产精品国自产拍AV| 亚洲综合婷婷久久| 亚洲国产精品精华液| 污污污视频在线免费观看| 毛片无码免费无码播放| 四虎影视在线永久免费观看| 亚洲高清成人一区二区三区| 久久久久国产亚洲AV麻豆 | 久久国产亚洲高清观看| 美女被暴羞羞免费视频| 2019中文字幕在线电影免费 | 日本永久免费a∨在线视频| 久青草视频97国内免费影视|