Jcat
          寵辱不驚,閑看庭前花開花落~~
          posts - 173,comments - 67,trackbacks - 0
          狀:剛配置好struts,可是DispatchAction怎么都不工作(Action可以工作),也不報(bào)錯(cuò)
          原因:只引入了struts自身的jar,看一看release中l(wèi)ib下,還有不少非struts的jar,可以猜想這些都是DispatchAction所需要的,而Action不需要(以前以為這些沒用)。不報(bào)錯(cuò)讓我很郁悶。



          狀:剛配置好struts,action可以工作了,就是不能正確的forward到j(luò)sp頁面,execute中加斷點(diǎn),也不進(jìn)入。
          原因:execute有兩個(gè)!!!HttpServletRequest vs ServletRequest,前者才是struts所使用的execute。



          狀:在web.xml里面設(shè)置好了

          <error-page>
          ????????
          <error-code>404</error-code>
          ????????
          <location>/404.jsp</location>
          </error-page>

          但當(dāng)出現(xiàn)404錯(cuò)誤時(shí),并沒有顯示404.jsp這一頁,而是顯示browser提供的error report page

          原因:在客戶端瀏覽器如IE的internet選項(xiàng)高級(jí)屬性中默認(rèn)使用“友好的http錯(cuò)誤信息”,這樣會(huì)造成你的服務(wù)器是輸出你所定義的錯(cuò)誤頁面,但到客戶端被IE這混蛋給覆蓋掉了。解決方案是你定義的錯(cuò)誤頁面的大小必須大于512bytes,就不會(huì)被客戶端設(shè)置所影響了。



          狀:用hibernate訪問數(shù)據(jù)庫,可以insert,可以select,可以drop,就是不能update,而且沒有任何錯(cuò)誤消息

          原因:
          <class name="com.verican.base.model.CatalogPO" table="sys_catalog" mutable="false">設(shè)置成true即可。
          (當(dāng)mutable=false,卻又執(zhí)行update操作時(shí),hibernate至少應(yīng)該提供警告消息告知一下才對(duì),可惜沒有,所以很難發(fā)現(xiàn))



          狀:
          ??????Javascript彈出窗口時(shí),如果用的是相對(duì)路徑,形如javascript:void(window.open('../../test.html')),不同的瀏覽器的處理不同(因?yàn)閖s是瀏覽器處理的東西)。
          ??????比如,不是部署在根目錄下時(shí)(根目錄下又建了一個(gè)目錄):在Firefox下,是以服務(wù)器為視角,則../../即可;而在IE下,則是以瀏覽器為視角,則需要多加一級(jí),如../../../
          ????????????
          解決:用絕對(duì)路徑 javascript:void(window.open('http://www.verican.com/test.html'));或者,用 <a target="_blank" href="../../test.html"> (因?yàn)檫@是服務(wù)器處理的東西,所以不管部署在哪里,相對(duì)路徑都是唯一確定的)



          狀:
          刷新的時(shí)候 1)拋出ServletException
          ?????????????????????2)The page cannot be refreshed without resending the information, Click Retry to send the information again.

          原因:Struts中redirect設(shè)置問題(具體原理以后再研究)

          解決:一般的,forward到一個(gè)具體的page,redirect=false;forward到另一個(gè)action,redirect=true
          ???????????
          <forward?name="add_item"?path="newsletter.add_item.page"?redirect="false"/>
          <forward?name="success"?path="/newsletter.do"?redirect="true"/>


          狀:

          save a form --> forward to list page --> refresh --> retry --> save the form again (error)


          原因:
          <forward?name="list"?path="ticket.list.page"?redirect="false"/>

          解決:一般的,從save一個(gè)表單后,應(yīng)該forward到另一個(gè)action,且redirect=true(而不是另一個(gè)page,即便當(dāng)前action里有這個(gè)page)。這樣可以保證不會(huì)通過刷新重復(fù)save數(shù)據(jù)。
          <forward?name="list"?path="ticket.do"?redirect="true"/>



          狀:
          ??????用Spring + Velocity發(fā)email,開始都好好的,也能現(xiàn)實(shí)圖片,但當(dāng)加入某一幅圖片以后,無法正常顯示(得到一個(gè)頁面為空白的Email,雖然也有大小)。把圖片從bmp換到j(luò)pg,再換到gif,未果。減小圖片的尺寸、大小,未果。幾乎都要絕望了~~~

          原因:NOTE: Invoke addInline after setText; else, mail readers might not be able to resolve inline references correctly.(這是Spring API里的原話,NND)

          感受:
          ??????1.以前沒寫過發(fā)Email的程序,工作中用到了,照貓畫虎拿過來就用,也沒有仔細(xì)閱讀文檔,導(dǎo)致這次慘痛的教訓(xùn)。
          ????? 2.Spring中這部分設(shè)計(jì)的也有問題,它在兩個(gè)表面上沒什么關(guān)系的方法之間,建立了順序上的依賴關(guān)系。這使得出現(xiàn)這種情況時(shí),沒有任何線索。



          狀:
          遍歷List時(shí),一調(diào)用remove就出錯(cuò),(錯(cuò)誤的)代碼如下
          for?(Object?o?:?list)
          ????
          {
          ????????????list.remove(o);
          ????????}

          原因:ConcurrentModificationException,有remove操作時(shí),不能用foreach循環(huán)

          解決:用傳統(tǒng)循環(huán)(看了傳統(tǒng)還是很有用的)
          for?(int?i?=?0;?i?<?list.size();?i++)
          ????
          {
          ????????????list.remove(i
          --);
          ????????}
          注意remove過需要 i--? (--i is wrong)



          狀:
          boolean?b?=?new?Integer(3)?==?new?Integer(3);?//false

          原因:其實(shí)是很簡(jiǎn)單的問題,但是IDEA只會(huì)對(duì)String的 = = 做智能提示,注意即可。



          狀:
          org.hibernate.MappingException: Could not read mappings from resource: jcat/learn/mapping.xml
          ?
          開始以為路徑?jīng)]寫對(duì),試驗(yàn)了N中路徑的寫發(fā)后,還是不行。后來才發(fā)現(xiàn)是因?yàn)閙apping.xml是空的。
          ?
          解決:給mapping.xml加上一個(gè)空殼就可以了(好歹空殼不等于空)
          ?
          <?xml?version="1.0"?encoding="gb2312"?>
          <!DOCTYPE?hibernate-mapping?SYSTEM?"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"?>

          <hibernate-mapping?default-lazy="false">

          </hibernate-mapping>
          ?
          NOTE:幾種路徑的寫法
          1. classpath:packagename/filename
          例子:在applicationContext.xml中注冊(cè)hibernate.cfg.xml
          <bean?id="GlobalHibernateSessionFactory"?class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
          ????????
          <property?name="dataSource">
          ????????????
          <ref?local="GlobalDataSource"/>
          ????????
          </property>
          ????????
          <property?name="configLocation">
          ????????????
          <value>classpath:hibernate.cfg.xml</value>
          ????????
          </property>
          </bean>

          2. packagename/filename
          例子:在hibernate.cfg.xml中注冊(cè)mapping.xml
          <mapping?resource="jcat/learn/hibernate_in_spring/orm.xml"/>


          狀:提交表單程序,加入了上傳文件的功能后,出現(xiàn)異常
          java.lang.IllegalArgumentException: Cannot invoke com.verican.newsadmin.form.TicketForm.setUploadFile - argument type mismatch

          解決:將表單聲明為mulptipart類型
          <html:form?action="/ticket"?enctype="multipart/form-data">
          ?????????
          <html:file?property="uploadFile"/>
          </html:form>



          狀:IE cannot open the Internet site file: ....
          <html>
          <head>
          ????
          <title></title>
          </head>
          <body>
          ????
          <span?id="TypeDes2"/>
          ????
          <script?type="text/javascript">
          ???????TypeDes2.innerHTML?
          =?"Test?Span";
          ????
          </script>
          </body>
          </html>

          解決:對(duì)于單標(biāo)簽,瀏覽器找不到innerHTML屬性。改為雙標(biāo)簽即可。
          <span?id="TypeDes2"></span>
          posted on 2006-07-25 13:11 Jcat 閱讀(772) 評(píng)論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 西青区| 体育| 富锦市| 久治县| 邵东县| 新野县| 竹北市| 镇平县| 武胜县| 永善县| 长沙市| 大悟县| 泰州市| 盘锦市| 徐水县| 墨竹工卡县| 顺平县| 张家界市| 阳信县| 肃北| 沅陵县| 河间市| 竹山县| 谢通门县| 张家港市| 福泉市| 平乡县| 商河县| 伽师县| 乐亭县| 夏邑县| 若尔盖县| 海安县| 宜黄县| 丁青县| 凤冈县| 美姑县| 利津县| 寿阳县| 天津市| 鲁甸县|