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

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

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

    qqjianyue代碼工

    砌java代碼
    posts - 62, comments - 9, trackbacks - 0, articles - 10
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    The prefix "tx" for element "tx:advice" is not bound

    這個(gè)錯(cuò)誤的原因很簡(jiǎn)單是:

    我們?cè)诙x申明AOP的時(shí)候。。沒有加載schema。

    具體表現(xiàn)如下:

    <beans>

     <tx:advice id="txAdvice" transaction-manager="transactionManager">  
         <tx:attributes>  
             <tx:method name="get*" read-only="true"/>  
             <tx:method name="*" propagation="REQUIRES_NEW" rollback-for="Exception"/>  
         </tx:attributes>  
     </tx:advice>

     <!-- aop代理設(shè)置-->  
     <aop:config proxy-target-class="true">   
    ....

     </aop:config>

    </beans>

    這時(shí)會(huì)拋出異常不認(rèn)<TX>標(biāo)簽。。起先還以為是沒有加載JAR包呢。。

    后來讀AOP文檔才發(fā)現(xiàn)<beans>中要加入“xmlns:aop”的命名申明,并在“xsi:schemaLocation”中指定aop配置的schema的地址

    配置文件如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="  xmlns:xsi="  xmlns:aop="  xmlns:tx="  xsi:schemaLocation="http://www.springframework.org/schema/beans
                        
    http://www.springframework.org/schema/beans/spring-beans.xsd
                        
    http://www.springframework.org/schema/tx
                        
    http://www.springframework.org/schema/tx/spring-tx.xsd
                        
    http://www.springframework.org/schema/aop
                        
    http://www.springframework.org/schema/aop/spring-aop.xsd">

    這些才是最關(guān)鍵的地方。。后面的配置不變。。。。

    posted @ 2008-08-30 00:01 Qzi 閱讀(1187) | 評(píng)論 (0)編輯 收藏

    如果在/sandh/web-inf/classes下面沒有ehcache.xml這個(gè)文件,會(huì)報(bào)這個(gè)錯(cuò)誤,No configuration found.

    Configuring ehcache from ehcache-failsafe.xml found in the classpath:.....這個(gè)文件是hibernate緩存配置文

     

    <ehcache>
     <diskStore path="java.io.tmpdir"/>
     <defaultCache
        maxElementsInMemory="10000"
        eternal="false"
        timeToIdleSeconds="10000"
        timeToLiveSeconds="10000"
        overflowToDisk="true"
     />
      <cache  name="com.hour41.hibernate.vo.common.City"
        maxElementsInMemory="10000"
        eternal="false"
        timeToIdleSeconds="10000"
        timeToLiveSeconds="10000"
        overflowToDisk="true"
     />
    </ehcache>

    上面配置了默認(rèn)類緩存和城市類緩存策略:

    <diskStore>表示當(dāng)內(nèi)存緩存中對(duì)象數(shù)量超過類設(shè)置內(nèi)存緩存數(shù)量時(shí),將緩存對(duì)象寫到硬盤,path=”java.io.tmpdir

    ”表示把數(shù)據(jù)寫到這個(gè)目錄下。Java.io.tmpdir目錄在運(yùn)行時(shí)會(huì)根據(jù)相對(duì)路徑生成。
    <defaultCache>表示設(shè)定緩存的默認(rèn)數(shù)據(jù)過期策略。
    <cache>表示設(shè)定用具體的命名緩存的數(shù)據(jù)過期策略。
    name表示具體的緩存命名。
    maxElementsInMemory表示cache中最大允許保存的對(duì)象數(shù)據(jù)量。
    eternal表示cache中數(shù)據(jù)是否為常量。
    timeToIdleSeconds表示緩存數(shù)據(jù)鈍化時(shí)間
    timeToLiveSeconds表示緩存數(shù)據(jù)的生命時(shí)間。
    overflowToDisk表示內(nèi)存不足時(shí),是否啟用磁盤緩存。 

     

    將上面代碼另存為ehcache.xml存放在lib/classes里面即可!

    posted @ 2008-08-28 21:20 Qzi 閱讀(3293) | 評(píng)論 (0)編輯 收藏

    1:配置文件applicationContext.xml問題
        org.springframework.orm.hibernate3.HibernateTransactionManager 與  
        org.springframework.orm.hibernate3.LocalSessionFactoryBean出現(xiàn)問題.
        解決方法:
        這兩個(gè)出現(xiàn)紅色的小x其實(shí)是與三大框架集成的時(shí)候,包沖突有關(guān),首先刪除asm-2.2.3.jar 然后加入
        spring-hibernate3.jar,commons-pool.jar,commons-dbcp.jar包,上述的問題解決!

    2:asm包問題
        spring與hibernate的沖突.兩個(gè)框架都依賴asm.jar包spring的版本是asm-2.23.jar.hibernate依賴的是asm.jar 
        方法1:只刪除asm-2.23.jar包
        方法2:所有asm開頭的jar包,和一個(gè)cglib-2.1.3.jar都刪除,上網(wǎng)下載一個(gè)最新的asm-all-3.0.jar加進(jìn)去
    兩種方法都試一下,有些人方法1行,方法2不行,有些人相反。

    3:使用MeEclipse的時(shí)候,可能的警告:
    java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitor
    CGLIB Enhancement failed
    解決方案:
    在使用Spring的AOP編程時(shí),會(huì)用到這幾個(gè)lib:
    asm-2.2.2.jar
    asm-commons-2.2.2.jar
    asm-util-2.2.2.jar
    Hibernate使用如下lib:
    asm.jar
    asm-attrs.jar
    其中asm-2.2.2.jar與asm.jar存在類上的沖突!!!
    使用其中之一或兩者都使用,可能會(huì)出現(xiàn)如下錯(cuò)誤:
    java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitor
    java.lang.NoClassDefFoundError: org/objectweb/asm/commons/EmptyVisitor
    java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit。。。。。。
    解決辦法是:
    1.去掉類路徑上的關(guān)于Hibernate的3個(gè)lib
    asm.jar
    asm-attrs.jar
    cglib-2.1.3.jar
    2.加入Spring中的以下4個(gè)lib
    asm-2.2.2.jar
    asm-commons-2.2.2.jar
    asm-util-2.2.2.jar
    cglib-nodep-2.1_3.jar

    3:注意以上的刪包要確保tomcat服務(wù)器里面的包也被刪了,否則有殘留的時(shí)候,測(cè)試出錯(cuò)。
    所以在框架集成時(shí)經(jīng)常遇到,包沖突與少包問題,大家注意一下!哈哈!

    posted @ 2008-08-28 12:12 Qzi 閱讀(2794) | 評(píng)論 (1)編輯 收藏

    “從 char 數(shù)據(jù)類型到 datetime 數(shù)據(jù)類型的轉(zhuǎn)換導(dǎo)致 datetime 值越界”
     錯(cuò)誤的注意羅,下面是SQL Server下兩種變量的詳細(xì)介紹,時(shí)間值越界的明顯就會(huì)報(bào)這個(gè)錯(cuò)誤
     
    datetime
    smalldatetime

    代表日期和一天內(nèi)的時(shí)間的日期和時(shí)間數(shù)據(jù)類型。
     
      datetime

    17531199991231的日期和時(shí)間數(shù)據(jù),精確度為百分之三秒。如下表所示,把值調(diào)整到.000.003、或.007秒的增量。(曾經(jīng)試過使用1752有錯(cuò),1753就沒有錯(cuò)了,郁悶啊!)

    microsoft&reg;sqlserver™拒絕所有其不能識(shí)別為1753年到9999年間的日期的值。
      smalldatetime
    190011207966的日期和時(shí)間數(shù)據(jù)精確到分鐘。29.998秒或更低的smalldatetime值向下舍入為最接近的分鐘,29.999秒或更高的smalldatetime值向上舍入為最接近的分鐘。
      --returnstimeas12:35
      selectcast(2000-05-0812:35:29.998assmalldatetime)
      go
      --returnstimeas12:36
      selectcast(2000-05-0812:35:29.999assmalldatetime)
      go
     
    注釋
    microsoftsqlserver
    用兩個(gè)4字節(jié)的整數(shù)內(nèi)部存儲(chǔ)datetime數(shù)據(jù)類型的值。第一個(gè)4字節(jié)存儲(chǔ)basedate之前或之后的天數(shù)。基礎(chǔ)日期是系統(tǒng)參考日期。不允許早于175311datetime值。另外一個(gè)4字節(jié)存儲(chǔ)以午夜后毫秒數(shù)所代表的每天的時(shí)間。
    smalldatetime
    數(shù)據(jù)類型存儲(chǔ)日期和每天的時(shí)間,但精確度低于datetimesqlserversmalldatetime的值存儲(chǔ)為兩個(gè)2字節(jié)的整數(shù)。第一個(gè)2字節(jié)存儲(chǔ)190011后的天數(shù)。另外一個(gè)2字節(jié)存儲(chǔ)午夜后的分鐘數(shù)。日期范圍從190011207966,精確到分鐘。

    posted @ 2008-08-28 11:34 Qzi 閱讀(1698) | 評(píng)論 (0)編輯 收藏

    第一條:javascript非常脆弱,請(qǐng)一定要小心,不要敲錯(cuò)一個(gè)單詞,也不要異想天開地理解js函數(shù),出現(xiàn)一點(diǎn)差錯(cuò)都搞死人。改善方法是:多點(diǎn)copy,使用firefox的firebug也是調(diào)試javascript的好方法。

    1.getElementsByTagName(tagName)可以使用很多元素對(duì)象來調(diào)用,我沒有全試過,所以不敢打包票,不過基本上就是你想要用到的標(biāo)簽,都可以使用它來獲得他的子標(biāo)簽array,不管幾層以內(nèi)。

    2.getElementById只能用用document對(duì)象來調(diào)用,你試一下看看div能否使用這個(gè)函數(shù)找到他的子標(biāo)簽,答案是否的。 頁(yè)面上的id可以直接用作變量名來引用標(biāo)簽對(duì)象。

    3.getElementsByName也只能用在document對(duì)象,然后不是任意一個(gè)標(biāo)簽都有name,注意有些標(biāo)簽沒有name的,你異想天開地為任何標(biāo)簽都加個(gè)name屬性,結(jié)果就是這個(gè)name并不能用來索引這個(gè)標(biāo)簽。

    4.form元素里面的input元素可以通過.id或者.name的方式獲得其中元素, 即使隔著div和table都可以. 但是div和table是無法這樣從form中獲得的, form里面的元素也無法從table和div中使用這種方法獲得.

    注意"s"的區(qū)別,唯一性

    innerHTML屬性可以改變span里面的值, 但是innerText卻不行,不知道為什么.

    最好的調(diào)試方法,alert函數(shù)。

    以上不敢包正確,但是的確是我自己測(cè)試以后得來的,改變了自己以前很多的想法,原來設(shè)計(jì)者搞得那么卑鄙的,弄死人了。

    歡迎補(bǔ)充,有關(guān)[]的使用來代替函數(shù)查找,我還沒有試驗(yàn)。

    posted @ 2008-08-27 18:57 Qzi 閱讀(1035) | 評(píng)論 (0)編輯 收藏

    javascript是經(jīng)典的敏感性語言,小小問題都會(huì)導(dǎo)致整體功能出錯(cuò)。

    自己調(diào)用document.form[0].submit()的時(shí)候,會(huì)出現(xiàn)submit is not a function錯(cuò)誤(使用firefox的firebug調(diào)試,非常好用),原因是頁(yè)面的form中出現(xiàn)具有name=submit的元素,這樣會(huì)影響到j(luò)avascript調(diào)用submit()函數(shù),改掉那個(gè)name=submit的元素即可。

    另外submit提交struts1.2的action時(shí)候,如果后面跟有?method=***等的參數(shù),那么注意,這個(gè)函數(shù)里面不要出現(xiàn)有method等關(guān)鍵字。
    例如函數(shù):
    function changeAction(methodArg, wayArg){
     with (document.forms[0]) {
      action="<html:rewrite page='/BgdInfoReportAction.do'/>?method="+ methodArg + "&way=" + wayArg;
      submit();
     }
    }
    使用?method=***是在使用dispatchAction時(shí)候的做法原來我的參數(shù)名稱是method和way,
    結(jié)果報(bào)錯(cuò):Action[/BgdInfoReportAction] does not contain method named post
    原因是?后的method變得沒有效,那么這個(gè)submit提交使用默認(rèn)的post方法提交(servlet默認(rèn)分為post和get方法嘛),
    后來我將method改成methodArg和way改成wayArg,這個(gè)action就能夠正確執(zhí)行。
    我重復(fù)測(cè)試改與不改的效果,仍然與上面一樣。總結(jié)原因可能是是javascript的一些關(guān)鍵字沖突,所以盡量使用特殊一點(diǎn)的字符串作為變量名。

    posted @ 2008-08-27 15:42 Qzi 閱讀(4091) | 評(píng)論 (1)編輯 收藏

    安裝cvsnt

    直接雙擊運(yùn)行cvsnt安裝文件,安裝過程中可以選擇以經(jīng)典、自定義和完全三種方式安裝,在自定義方式中可以選擇安裝路徑。安裝完成后,在控制面板里出現(xiàn)一個(gè)CVSNT Server的項(xiàng)目,圖標(biāo)是一條魚~~

    配置cvsnt

    安裝完成cvsnt后,就可以從控制面板中那條魚來配置cvsnt了。首先,你要新建一個(gè)目錄用來存放cvs倉(cāng)庫(kù),我用的是G:\CVSROOT。這里需要先了解兩個(gè)概念:cvs倉(cāng)庫(kù)和模塊。我是這樣理解的,cvs倉(cāng)庫(kù)相當(dāng)于VS里一個(gè)解決方案,它可以包含多個(gè)項(xiàng)目,即模塊。

    打開cvsnt的控制面板后,可以看到7個(gè)選項(xiàng)卡,分別是:Server Information,用于查看服務(wù)器信息及一些簡(jiǎn)單的統(tǒng)計(jì)信息;Respository configuration,配置CVS倉(cāng)庫(kù),包括添加、刪除等;Server Setting,配置服務(wù)器運(yùn)行的一些參數(shù),諸如端口、加密、壓縮等選項(xiàng);Capatiblity Options,有關(guān)兼容性的選項(xiàng),在這里主要配置一個(gè)兼容非cvsnt客戶端的版本響應(yīng)為cvs 1.11.2;Plugins,插件配置,安裝完成可以不用管的~;Advanced,安裝完成后也不用管了;About,在這里可以管理cvsnt服務(wù)的狀態(tài),停止或啟動(dòng)cvsnt和cvsnt lock服務(wù)。

    其實(shí)簡(jiǎn)單來說,custom換默認(rèn)設(shè)置安裝完成后,要設(shè)置的東西只有兩個(gè):cvs倉(cāng)庫(kù)和服務(wù)器設(shè)置。

    服務(wù)器設(shè)置:設(shè)置Run as為系統(tǒng)管理員帳號(hào)Administrator,或者新建一個(gè)本地用戶,專門用于cvs。使用一個(gè)新建的本地帳戶的好處是可以使用NTFS的權(quán)限控制來保證服務(wù)器的安全,例如我當(dāng)前的用戶是flora。

    CVS倉(cāng)庫(kù)設(shè)置:進(jìn)入Respository configuration選項(xiàng)卡,點(diǎn)擊Add,出現(xiàn)添加CVS倉(cāng)庫(kù)的對(duì)話框,Type選擇Standard即可,然后在Location里輸入之前新建的用于存放CVS倉(cāng)庫(kù)的文件夾,我用的是D:\cvs,在Name里會(huì)自動(dòng)轉(zhuǎn)換成一個(gè)可以用的CVS倉(cāng)庫(kù)的別名,比如我用的是“/cvs”,其他的都默認(rèn),確定后cvsnt會(huì)詢問你所添加的CVS倉(cāng)庫(kù)目錄沒有初始化,是否進(jìn)行初始化,點(diǎn)“是”就行了,cvsnt會(huì)自動(dòng)初始化指定的目錄,初始化完成之后,可以在里面看到一個(gè)CVSROOT的文件夾,這個(gè)文件夾存儲(chǔ)很多配置信息的。

    用戶設(shè)置配置完CVS倉(cāng)庫(kù)后,為了使CVS能使用帳號(hào)進(jìn)行訪問而不是使用windows用戶,需要添加普通使用用戶。

    打開cvs control panel(在開始菜單里面的快捷方式或者控制面板),server setting中run as 選擇具有windows管理者權(quán)限的用戶,應(yīng)用。例如我當(dāng)前的flora。在cvs control panel的about中重啟一下cvs。


    打開一個(gè)cmd,設(shè)置一下cvsroot環(huán)境變量,輸入:

    set cvsroot=:pserver:flora@127.0.0.1/cvs

    注意,這里的flora是當(dāng)前windows用戶名,既run as中選擇的那個(gè),/cvs是之前添加的CVS倉(cāng)庫(kù)的別名,如果你的設(shè)置不同,請(qǐng)把它們替換成自己的值,以后不再說明。

    接著cvs login命令登錄CVS服務(wù)器,因?yàn)樘砑佑脩魰r(shí)沒有設(shè)置密碼,因此可以不輸入密碼直接回車登錄:

    添加普通新用戶
    cvs passwd -a -r flora jianyue
    jianyue是你想新添加的用戶名 flora指定現(xiàn)在用具有admin權(quán)限的用戶來創(chuàng)建jianyue用戶
    否則出現(xiàn)錯(cuò)誤信息:Only administrators can add or change another's password
    這條命令后就可以設(shè)置這個(gè)用戶的密碼。
    成功后可以使用這個(gè)用戶了


    在Myeclipse中連接cvs服務(wù)器:
    在還沒有沒有添加cvs版本控制的工程上(已添加了的,菜單會(huì)有所不同)
    在工程名上右鍵->team->share project->create a new repository location,填入必須的信息,像我的是本地的,就填:
    host:localhost
    Repository path:cvs(上面配置時(shí)候的那個(gè)倉(cāng)庫(kù)別名)
    填上合適的用戶名與密碼,我這里是jianyue  密碼hello
    端口與類型,如果服務(wù)器沒有修改過的話,都用默認(rèn)的就行
    這樣子,這個(gè)工程文件就會(huì)被上傳到CVSROOT目錄上,本地的文件系統(tǒng)打開這個(gè)目錄,也可以看見被上傳的工程。
    以后就可以方便的使用版本控制了。

    上面的方法對(duì)于忘記用戶密碼的情況也可以解決,在cmd使用系統(tǒng)用戶登陸cvs,就可以按照上面步驟重建那個(gè)用戶,修改其密碼,
    cvs會(huì)默認(rèn)覆蓋這個(gè)用戶。

    posted @ 2008-08-22 11:21 Qzi 閱讀(8827) | 評(píng)論 (0)編輯 收藏

    出現(xiàn)warning log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester.sax).信息的經(jīng)典處理方法:

    在eclipse下工程的src目錄下新建文件名為:log4j.properties
    內(nèi)容為:

    log4j.rootLogger=WARN, Console

    log4j.appender.Console=org.apache.log4j.ConsoleAppender
    log4j.appender.Console.layout=org.apache.log4j.PatternLayout
    log4j.appender.Console.layout.ConversionPattern=(%r ms) [%t] %-5p: %c#%M %x: %m%n

    log4j.logger.com.genuitec.eclipse.sqlexplorer=DEBUG
    log4j.logger.org.apache=WARN
    log4j.logger.org.hibernate=WARN

    項(xiàng)目編譯的時(shí)候會(huì)自動(dòng)copy到WEB-INF/class目錄下,這樣tomcat啟動(dòng)的時(shí)候,就可以啟動(dòng)log4j消息機(jī)制。
    這個(gè)機(jī)制的最大好處是將一般不會(huì)顯示出來的問題顯示在console上,方便發(fā)現(xiàn)隱秘的錯(cuò)誤,特別是當(dāng)你不知道哪里錯(cuò),
    但是網(wǎng)站的確有問題的時(shí)候。

    posted @ 2008-08-21 14:54 Qzi 閱讀(303) | 評(píng)論 (0)編輯 收藏

    在tomcat的目錄conf\Catalina\localhost下,可以增加xml文件,來指向file系統(tǒng)中任意一處作為網(wǎng)站系統(tǒng)的子根目錄,例如:
    atcs.xml文件:

    <!--

        Context configuration file for the Tomcat Host Manager Web App

        $Id: host-manager.xml 303743 2005-03-11 22:39:26Z remm $

    -->


    <Context path="/atcs" docBase="D:\WorkSpace\Huadu_Atcs3\WebContent"
    privileged="true" antiResourceLocking="false" antiJARLocking="false">
    </Context>

    其中docBase指向站點(diǎn)的根目錄,path與文件名相同(在此為atcs),這個(gè)path最好也要與docBase下的WEB-INF下的web.xml里面的 
      <context-param>
        <param-name>webAppRootKey</param-name>
        <param-value>atcs.root</param-value>
      </context-param>
    paraam-value相同。
    三者相同的情況下,才可以正確的訪問網(wǎng)站(訪問方式:http://localhost:8080/atcs)這樣就作為localhost的一個(gè)子站點(diǎn)可以運(yùn)行了。

    常見錯(cuò)誤:多個(gè)工程目錄下的web.xml文件的<param-value>atcs.root</param-value>相同,就算在tomcat的conf下配置不同的名,例如配置atcs2.xml指向另外一個(gè)工程目錄,但是恰巧那個(gè)工程下的web.xml里面也配置相同的webAppRootKey,那么將會(huì)出現(xiàn)其中一個(gè)工程不能夠訪問的問題。
    網(wǎng)頁(yè)出現(xiàn)經(jīng)典的The requested resource (/atcs/) is not available錯(cuò)誤!

    問題發(fā)現(xiàn)方法:在myEclipse下配置log4j,之后會(huì)將一些不會(huì)報(bào)出來的錯(cuò)誤亦會(huì)報(bào)出來,根據(jù)信息就可以發(fā)現(xiàn)是相同的webAppRootKey覆蓋問題。在此我的log4j的報(bào)錯(cuò)信息:
    Web app root system property already set to different value: 'atcs.root' = [D:\workspace2\Huadu_Atcs3\WebContent\] instead of [D:\WorkSpace\Huadu_Atcs3\WebContent\] - Choose unique values for the 'webAppRootKey' context-param in your web.xml files!

    log4j的配置問題參考:http://www.tkk7.com/jianyue/archive/2008/08/21/223500.html

    posted @ 2008-08-21 14:48 Qzi 閱讀(828) | 評(píng)論 (0)編輯 收藏

    僅列出標(biāo)題
    共5頁(yè): 上一頁(yè) 1 2 3 4 5 
    主站蜘蛛池模板: 又大又黄又粗又爽的免费视频| 毛片视频免费观看| 中文字幕免费在线看电影大全 | 嫩草影院在线免费观看| 久久亚洲精品无码观看不卡| 亚洲av伊人久久综合密臀性色| 亚洲国产一成人久久精品| 久久亚洲国产精品五月天| 亚洲高清资源在线观看| 亚洲精品无码av片| 色老头综合免费视频| jizz免费在线观看| a级毛片免费在线观看| 蜜桃视频在线观看免费网址入口| 亚洲国产一成久久精品国产成人综合| 亚洲人AV永久一区二区三区久久| 亚洲一级片内射网站在线观看| 亚洲精品无码不卡在线播放HE| 亚洲宅男精品一区在线观看| 黄色毛片免费网站| 一级毛片在线免费看| 四虎成人免费大片在线| 亚洲精品视频在线看| 久久精品蜜芽亚洲国产AV | 国产又粗又长又硬免费视频| 亚洲精品视频在线免费| 一级大黄美女免费播放| 女性自慰aⅴ片高清免费| 亚洲女同成av人片在线观看 | 亚洲视频一区在线播放| 中文在线观看永久免费| 国产成人午夜精品免费视频| 亚洲精品少妇30p| 久青草国产免费观看| 青青青青青青久久久免费观看 | 每天更新的免费av片在线观看 | 国产成人精品免费大全| 国产乱色精品成人免费视频| 亚洲欧美日韩中文字幕一区二区三区| 最新国产乱人伦偷精品免费网站| 小小影视日本动漫观看免费|