2008年10月5日

          本人現手頭有20個Google Wave邀請剩余,大伙有誰需要的,請在http://www.ijavaee.cn/others/google-wave-invitations.html留言,我會一一發送。
          posted @ 2009-12-09 20:54 ijavaee 閱讀(203) | 評論 (0)編輯 收藏
          本來自己翻譯了一篇文章,先放到了自己的博客,準備BlogJava也發一份,結果,復制過來,排版完全亂了。要是能看我就忍了,結果是,唉,預格式化的內容復制過來行間距居然放大了N倍,一行一行調整了一下,還是沒法看,郁悶中……翻譯沒花多少時間,排版整了2個多小時,先是WordPress上發布時的排版,終于排好了,弄到BlogJava上來又亂得一塌糊涂~~

          譯文的地址:10個你應該知道的Java正則表達式的例子

          本來還想發到網站首頁原創Java技術區去的,整成這個樣,發首頁也不好意思。算了,放這里,大家有興趣的過去看看吧。

          posted @ 2009-12-01 23:27 ijavaee 閱讀(276) | 評論 (0)編輯 收藏

          最近一直在修改以前同事寫的Oracle存儲過程,由于編碼不規范,修改起來相當費神,于是乎,翻譯了這篇 PL/SQL Formatting Guide (Oracle PL/ SQL by Example,Appendix A),費了九牛二虎之力,終于翻譯完了,也終于知道自己的英語有多爛了,嗚嗚。

          我的Blog :http://www.ijavaee.cn

          聲明:原創翻譯,不足之處請多多指正,轉載請注明出處!

          一、大小寫

          就像在SQL中一樣,PL / SQL中是不區分大小寫的。其一般準則如下:

          • 關鍵字(BEGIN, EXCEPTION, END, IF THEN ELSE,LOOP, END LOOP)、數據類型(VARCHAR2, NUMBER)、內部函數(LEAST, SUBSTR)和用戶定義的子程序(procedures, functions,packages),使用大寫。
          • 變量名以及SQL中的列名和表名,使用小寫。

          二、空白

          空白(空行和空格)在PL/SQL中如同在SQL中一樣重要,因為它是提高代碼可讀性的一個重要因素。換句話說,可以通過在代碼中使用縮進來體現程序的邏輯結構。以下是一些建議:

          • 在等號或比較操作符的左右各留一個空格;
          • 結構詞(DECLARE, BEGIN, EXCEPTION, END,IF and END IF, LOOP and END LOOP)居左排列。另外,結構中的嵌套結構要縮進三個空格(使用空格鍵,而不是Tab鍵);
          • 主要代碼段之間用空行隔開;
          • 把同一結構的不同邏輯部分分開寫在獨立的行,即使這個結構很短。例如,IF和THEN被放在同一行,而ELSE 和END IF則放在獨立的行。

          三、命名約定

          使用以下前綴對于避免與關鍵字和表名列名相沖突是很有幫助的:

          • v_變量名
          • con_常量名
          • i_輸入參數名,o_輸出參數名,io_輸入輸出參數名
          • c_游標名 或者 游標名_cur
          • rc_ Ref Cursor
          • r_Record名 或者 Record名_rec
          • FOR r_stud IN c_stud LOOP…
          • FOR stud_rec IN stud_cur LOOP
          • type_名稱,名稱_type (用戶定義的類型)
          • t_表名,表名_tab (PL/SQL 表)
          • rec_Record名,Record名_rec (Record變量)
          • e_異常名 (用戶定義的異常)

          包的名稱應該描述包內的存儲過程和函數主要所完成的功能

          存儲過程的名稱應該描述該存儲過程所執行的動作

          函數的名稱應該描述所返回的變量

          例如:

          PACKAGE student_admin

          – admin 后綴可能是用于表示管理功能.

          PROCEDURE remove_student (i_student_id IN student.studid%TYPE);

          FUNCTION student_enroll_count (i_student_id student.studid%TYPE)

          RETURN INTEGER;

          四、注釋

          PL/SQL中的注釋如同SQL中的注釋一樣重要。他們應該解釋程序的主要部分和所有關鍵的邏輯步驟。

          使用單行注釋(–)而不是多行注釋(/*)。即使PL/SQL對這些注釋做同樣處理,這樣在代碼完成后進行調試也會容易些,因為你不能在多行注釋中嵌入多行注釋。換句話說,單行注釋代碼中可以部分取消注釋,而在多行注釋代碼中則不行。

          五、其他的建議

          對于PL/SQL中嵌入的SQL聲明,使用相同的格式化指南來決定這些聲明應該如何在代碼塊中出現

          提供一個頭部注釋,用于說明代碼塊的用途并列出創建日期和作者名字。并且每個修訂版都要有一行注釋,包含作者名、日期和修訂版描述。

          例如:下面的這個示例體現了上述建議。請注意該示例還使用了等寬字體(Courier New),因為每個字體占據同等寬度可以使格式化更加簡便。等比例空格字體會隱藏空格使得行間對齊比較困難。多數文本和程序編輯器默認使用等寬字體。


          REM ********************************************************
          REM 
          * 文件名:coursediscount01.sql
          REM 
          * 版本:1
          REM 
          * 用途:對于至少有一部分超過十個學生登記的課程給予折扣
          REM 
          * 參數:無
          REM 
          *
          REM 
          * 作者:s.tashi  時間:2000.1.1
          REM 
          * 修改者:y.sonam 時間:2000.2.1
          REM 
          * 描述:修正游標,添加縮進和注釋。
          REM 
          ********************************************************

          DECLARE

          -- C_DISCOUNT_COURSE 找出那些至少有一部分超過十個學生登記的課程
          CURSOR c_discount_course IS
             SELECT
           DISTINCT course_no FROM section sect
             WHERE 10 <= (SELECT COUNT(*) FROM enrollment enr
                           WHERE
           enr.section_id = sect.section_id);
          -- 費用超過 $2000.00的課程的折扣率
          con_discount_2000 CONSTANT NUMBER := .90;
          -- 費用在$1001.00和$2000.00之間的課程的折扣率
          con_discount_other CONSTANT NUMBER := .95;
          v_current_course_cost course.cost
          %TYPE;
          v_discount_all 
          NUMBER;
          e_update_is_problematic EXCEPTION;
          BEGIN
          -- 對于那些要打折的課程, 確定當前費用和新的費用
             FOR r_discount_course in c_discount_course LOOP
                
          SELECT cost INTO v_current_course_cost FROM course
                
          WHERE course_no = r_discount_course.course_no;
                
          IF v_current_course_cost > 2000 THEN
                   v_discount_all :
          = con_discount_2000;
                ELSE
                   IF v_current_course_cost > 1000 THEN
                      v_discount_all :
          = con_discount_other;
                   ELSE
                      v_discount_all :
          = 1;
                   END IF;
                END IF;

               
          BEGIN
                  
          UPDATE course SET cost = cost * v_discount_all
                  
          WHERE course_no = r_discount_course.course_no;
                EXCEPTION
                  
          WHEN OTHERS THEN
                      RAISE e_update_is_problematic;
                
          END-- 更新記錄的子代碼塊結束
             END LOOP; -- 主循環結束
             COMMIT;
          EXCEPTION
             WHEN e_update_is_problematic THEN
                -- 事務回滾
                ROLLBACK;
             DBMS_OUTPUT.PUT_LINE(’There was a problem updating a course cost.’);
             WHEN OTHERS THEN
                NULL;
          END;
          /

          我的Blog :http://www.ijavaee.cn ,網站初建,歡迎大家來訪,交流技術

          posted @ 2009-07-24 00:22 ijavaee 閱讀(2486) | 評論 (3)編輯 收藏

          使用Eclipse開發Java EE 項目有近一年時間了,對于開發環境的搭建等資料的整理卻遲遲沒有進行,下面我將Eclipse中Tomcat的一種配置和使用方法整理一下,貼出來跟大家分享,如果大家有比較好的方法,還希望能不吝賜教。

          對于Tomcat與Eclipse的整合配置以及開發與應用,網絡上的資料,基本都是使用MyEclipse或者sysdeo的Tomcat插件。其實WTP本身的服務器管理與配置功能就很不錯,eclipse的JEE開發環境下已經可以很好的對服務器進行配置和管理。

          通常,我們首先打開eclipse的Server Runtime Environments 管理界面,Preferences -> Server -> Runtime Environments ,在這里可以對服務器運行環境進行管理。

          服務器運行環境配置

          在添加完服務器以后,我們回到eclipse主界面,打開Server視圖,Window -> Show View -> Server -> Servers,,右擊,選擇 New -> Server,打開新增服務器頁面,Server Name可以自己定義,運行時環境與我們上一步的配置有關。對于同一個運行時環境,我們可以配置多個Server,而且每個Server又可以添加不同的應用進去,各Server互相獨立,不影響運行時環境中配置的。

          Server View.png

          New Server.png

          我們新增一個Server,名為Tomcat v6.0,選中,右擊,出現相關操作,可以對服務器進行重命名、編輯、刪除;啟動、調試以及性能測試(需TPTP)。

          我們可以選擇Add and Remove Projects來增加要部署到服務器的項目:

          Add and Remove Projects.png

          雙擊服務器名,打開服務器的OverView:

          Server-Config Overview.png

          在這里可以對服務器的一些參數進行設置,選擇Modules,打開Server Modules,可以對部署的Web應用進行管理:

          Web Modules.png

          在添加了2個應用之后,我可以看一下Server.xml文件中的改變:

          Servers-Config.png

          打開server.xml文件,可以看到新增了兩個應用,這與我們使用Tomcat時直接修改Tomcat的配置文件實現部署是一樣的,不同的是,WTP環境下的服務器管理,多個配置共用一個Tomcat運行時環境,互不影響。

          Server-XML.png

          Server-XML-src.png

          我們也可以手動修改Context,把docBase指向真實的物理路徑,這樣修改文件后無需再同步到服務器,簡化一步操作。

          在項目開發過程中,我們可以針對各個項目,分別各建一個Server,根據自己的需要來修改配置以滿足自己的開發需要。保持Tomcat安裝目錄下的lib不要更改,各項目持有自己的lib。

          這種情況下的Tomcat啟動參數和JVM的參數,可以在Run Configuration中配置:

          Run-Config.png

          暫時先寫到這里,歡迎大家拍磚哈!

          posted @ 2009-02-22 14:30 ijavaee 閱讀(6380) | 評論 (2)編輯 收藏
              Tomcat 5.5 以后的binary 核心安裝版不再集成Tomcat Administration Web Application,需要獨立下載安裝。而Tomcat 6.0.13的Administration Web Application僅包含在源碼包中,沒有獨立下載的安裝包。經過查找資料和多次實踐,終于使用Tomcat 5.5.23 的Administration Web Application在Tomcat 6.0.13下配置成功。現將配置過程寫出,如有紕漏,還請多多指教。過程如下:

          一、下載Tomcat 5.5.23 的admin application:
                下載地址:http://apache.mirror.phpchina.com/tomcat/tomcat-5/v5.5.23/bin/apache-tomcat-5.5.23-admin.zip

          二、解壓apache-tomcat-5.5.23-admin.zip,將conf和server兩個文件夾拷貝到Tomcat 6.0.13安裝目錄下。

          三、下載Apache Commons Modeler,Logging組件,解壓后將commons-modeler-XXX.jar、commons-logging-XXX.jar拷貝到Tomcat 6.0.13安裝目錄下的lib目錄中。

          四、 重啟Tomcat,在瀏覽器中輸入http://127.0.0.1:8080/admin,如果能看到 Tomcat Web Server Administration Tool 的登錄界面,即安裝成功。若不成功,可以查看Tomcat 6.0.13安裝目錄下logs目錄里的日志文件如(admin.xxxx-xx-xx.log),看看是出了什么問題。
             
               注:這是本人去年8月份發在Matrix論壇的帖子,將此重新發在這里,做個記錄。以后就在這里寫了,所以把以前的資料整理下。
          posted @ 2008-10-05 16:20 ijavaee 閱讀(437) | 評論 (0)編輯 收藏

          導航

          <2008年10月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          統計

          留言簿(1)

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 图们市| 喜德县| 来凤县| 和林格尔县| 衡山县| 西乌珠穆沁旗| 孝感市| 天津市| 星子县| 化德县| 嵊州市| 西昌市| 三台县| 阿图什市| 金湖县| 县级市| 儋州市| 资中县| 永川市| 瑞金市| 濉溪县| 延庆县| 彝良县| 重庆市| 镇赉县| 正镶白旗| 河间市| 宁明县| 黎城县| 石泉县| 长春市| 兴义市| 乌海市| 社旗县| 江城| 邳州市| 普宁市| 陇川县| 唐山市| 闻喜县| 伊川县|