標籤:blog http io ar os 使用 java sp 檔案
http://blog.sina.com.cn/s/blog_56b0cb2d01000a7r.html Eclipse,以及tomcat有幾個問題.說明如下
1, 工程不編譯的問題 . 有時候,項目會出現死活不編譯的情況. 原因有如下幾點
第一: 首先要在項目的屬性裡面查看 Java Build Path是否有錯誤提示. 如果這裡給出了錯誤提示,那就肯定是編譯的主要原因了.
第二: 項目引用的userlib(使用者包)不存在. 因為CVS共用的項目. 項目的發起者在自己的本地建立了自己的lib包變數,而別的使用者從cvs上下來後,由於本地沒有相應的lib變數.所以系統不能正確的編譯. 建議不用變數.以方便其他使用者.
第三: 如果沒有找到原因, 請直接使用project目錄下的 Clean命令 , 此命令會清空所有的編譯後的檔案,並將重新編譯所有的檔案.
第四: 實在還是不行,就關閉eclipse,重新啟動即可.
第五: 還不行,就找我.
2, eclipse的Version: 3.1.0 版本中, “ALT+/” 原來3.0版本中的協助快速鍵到了新版中變成了 Ctrl+space .跟我們的IME衝突.
修改辦法: 菜單 window ->perferecens->General ->key ->View 的頁面 找到Cotent Assist 行,點擊上面的modify . 到修改頁面,將他的快速鍵都刪除. 然後在下面的 name中 使用退格鍵刪除那個 ctrl – space . 然後按下 Alt + / . 然後從下面的 When中依次選擇,然後依次ADD即可.
3, 控制使Eclipse使用指定的編輯器開啟檔案 .由於碰見陌生檔案時,eclipse總是不能自動識別上次開啟的方式. 設定方法為
window ->perferecens->General ->Editors 這個頁面上面有幾個 超級連結的 File Associations .點擊他進行設定即可.
4, eclipse3.0 中. 在檔案的屬性中,修改檔案的編碼格式後. 系統不會重新以您指定的編碼格式開啟檔案. 3.1中已經解決了這個bug. 而且3.1中的項目內搜尋(選中項目,點擊菜單中的search->search或者 Ctrl+H)也快了很多.用起來都比較方便.
5 ,關於檔案格式.檔案的開啟編碼格式由eclipse的總window ->perferecens->General ->Editors裡面設定. 預設都將使用這個編碼格式. 如果有特別的編碼格式在檔案屬性裡面單獨設定即可.
6, 關於css檔案沒有起作用的問題. 如果頁面的編碼格式跟css的編碼格式不一致了.css就會失效. 如果頁面是Utf-8的格式,那麼就必須保證Css的格式也為utf-8. javascript檔案亦然
7, 關於javascript檔案,裡面必須保證沒有非法的不可見字元.否則頁面會報指令碼錯誤. 指令檔裡面最好不要有中文注釋,如果一定要有,最好在注釋下面有兩個斷行符號,然後再寫代碼. 這樣保證不會有問題.
8, jsp編譯問題. 當你通過url去訪問一個jsp的時候,tomcat要做的工作如下:
首先,檢測有沒有這個jsp
然後,檢測 /app/jakarta-tomcat-5.5.9/work/Catalina/www.uland.com/_/org/apache/jsp 目錄下有沒有對應的這個jsp翻譯完畢的java檔案和class檔案
然後,如果沒有存在,則編譯jsp檔案到那個目錄下.
如果已經存在,檢測當前這個jsp的最後更新日期是否比已經存在的java檔案新.
如果已經存在的java檔案是新的,則系統放棄編譯,直接讀取java的類檔案.
如果已經存在的java檔案比當前的jsp檔案要舊,則tomcat重新編譯這個jsp.
如果編譯成功,則用新的java檔案,替換舊的java檔案. 並顯示出新的頁面效果
如果編譯失敗,則前台會將錯誤的頁面跟已經存在的頁面交替1:3次顯示. 其中顯示1次錯誤頁面,隨後再訪問3次都會顯示已經存在的正確類檔案. Tomcat這樣做也有他的理由.保證系統給使用者的效果.
問題: 當我們從我們本地將jsp檔案拖放到遠程伺服器上時,如果出現了效果沒有更新的情況. 一種方案就是清空work目錄. 這樣比較徹底,但每次都得清.再有就是看看遠端系統的日期是不是比我們當前使用的eclipse的系統的日期要早. 如果是,把那邊得日期更新一下比我們的稍慢一點即可. 有時候頁面提示的出錯行數總是那個編譯後java檔案的行數,那麼可以直接到那個java檔案定位錯誤.非常方便.
9 , tomcat的server.xml中要注意的幾個問題:
第一: <Connector port="80" redirectPort="8443" maxKeepAliveRequests="-1" minSpareThreads="1000" connectionTimeout="20000" maxSpareThreads="2000" acceptCount="5000" maxThreads="5000" maxHttpHeaderSize="8192" URIEncoding="GBK"/> 裡面的URIEncoding="GBK" 直接控制url中的檔案編碼格式. Tomcat要根據這個參數對中的參數進行解碼. 如果不寫預設使用的編碼是 iso-8859-1 ,如果用utf8的最好.比較通用.
第二: <Context path="" docBase="." debug="0" crosscontext="true" allowLinking="true" reloadable="true"/> 裡面的reloadable參數設定為true ,標識類如果有了改動,tomcat會自動重新啟動這個網站. AllowLinking= allowLinking="true" 標識允許此應用使用linux的虛擬目錄. 否則設定的虛擬目錄不會生效.
10, eclipse快速鍵 ctrl+q 非常有用 定位到最後編輯的位置.
11,補充:
eclipse編輯java檔案時,如果裡面的漢字為亂碼,說明檔案的格式不是gbk格式的。因為eclipse預設編輯檔案使用這個格式。根據檔案的格式,修改eclipse的開啟檔案格式。
windows-> perfrence->General->Editor. 修改這個頁面上的 那個GBK -〉其他中的UTF-8即可
Eclipse,以及tomcat幾個問題