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

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

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

    posts - 21,  comments - 6,  trackbacks - 0

    今天進(jìn)入可開發(fā)前的準(zhǔn)備階段。在開發(fā)項(xiàng)目前,要求每位開發(fā)小組成員都必須先閱讀以下約定,嚴(yán)格按以下約定來進(jìn)行開發(fā)。

    系統(tǒng)框架

    ·系統(tǒng)總框架采用SUN J2EE框架,使用JAVA/XML技術(shù)和組件技術(shù), 基于Application server開發(fā)。

    ·項(xiàng)目中的程序必須嚴(yán)格按J2EE1.3規(guī)范來編碼,EJB建議采用2.0規(guī)范編碼,盡可能多使用EJB 模式設(shè)計(jì),參考技術(shù)文檔如下:

    1.《J2EE Tutorial》

    j2ee-1_3-doc-tutorial-draft5.pdf

    2.《JBoss 3.0Quick Start Guide》

    3.《EJB Design Patterns》

    開發(fā)環(huán)境

    ·測(cè)試用Application server采用JAS,JAS 配置于Linux OS下,IP地址:192.168.0.6。登錄用戶名:J2EEOA,密碼:J2EEOA。登錄ftp工具建議使用SSH Secure Shell或LeapFTP,ftp地址為192.168.0.6:22。

    ·項(xiàng)目開發(fā)源碼目錄為/home/local/jboss/applications/J2EEOA/src,項(xiàng)目開發(fā)文檔目錄為/home/product/J2EEOA/。

    · 數(shù)據(jù)庫服務(wù)器IP為192.168.0.222,數(shù)據(jù)庫采用Mysql,管理工具為phpadmin,登錄數(shù)據(jù)庫的用戶名為test,密碼為test。

    源代碼目錄規(guī)范

    每位開發(fā)小組成員一定要絕對(duì)遵守以下創(chuàng)建源代碼目錄的規(guī)范。

    項(xiàng)目開發(fā)目錄結(jié)構(gòu)簡(jiǎn)圖:

    																\
    |--apps
      |--J2EEOA
      |--admin
    |--components
      |--a component
    |--modules
      |--a module
    |--lib
      |--ant
    |--build.properties
    														

    圖片6 項(xiàng)目開發(fā)目錄結(jié)構(gòu)圖

    項(xiàng)目開發(fā)目錄結(jié)構(gòu)說明:

    																\ (說明:根目錄)
    |--apps (說明:此目錄下放應(yīng)用程序的代碼)
      |--J2EEOA (說明:此目錄為放J2EEOA應(yīng)用程序的代碼)
      |--admin (說明:此目錄為放項(xiàng)目的admin應(yīng)用程序的代碼)
    |--components (說明:此目錄下放應(yīng)用程序組件的代碼)
      |--a component (說明:此目錄為放一個(gè)組件的代碼)
    |--modules (說明:此目錄下放應(yīng)用程序模塊的代碼)
      |--a module (說明:此目錄為放一個(gè)模塊的代碼)
    |--lib (說明:此目錄下放項(xiàng)目開發(fā)工具)
      |--ant (說明:Ant工具,包括bin和lin目錄)
    |--build.properties 
    (說明:此文件定義項(xiàng)目開發(fā)共用的環(huán)境變量,
    如jboss.home、jboss.configuration、servlet-lib.path等)
    														

    模塊、組件開發(fā)目錄結(jié)構(gòu)簡(jiǎn)圖:

    																\
    |--build
    |--etc
      |--multi-langs
    |--lib
      |--docs
      |--ejb
        |-- META-INF
      |--j2ee
      	|--META-INF
      |--web
        |--WEB-INF
    |--src
      |--ejb
      |--javabean
      |--servlet
      |--web
    |--build.bat
    |--build.sh
    |--build.xml
    														

    圖片7 模塊、組件目錄結(jié)構(gòu)圖

    說明:src、etc目錄和build.bat、build.sh、build.xml為開發(fā)人員建立的目錄,build和lib目錄為由ant工具生成的目錄。

    模塊、組件開發(fā)目錄結(jié)構(gòu)說明

    																\ (說明:一個(gè)模塊或一個(gè)組件的根目錄)
    |--build (說明:保存由ant工具生成的擴(kuò)展名為jar、war、ear等文件)
    |--etc 
    (說明:存放部署文件,如web.xml、ejb-jar.xml、application.xml、
    jaws.xml、jbosscmp-jdbc.xml等)
     |--multi-langs (說明:存放多語言資源文件,擴(kuò)展名為properties,)
    |--lib (說明:保存由ant工具生成的API文件、class文件等)
      |--docs
        |--api
      |--ejb
        |-- META-INF
      |--j2ee
      	|--META-INF
      |--web
        |--WEB-INF
    |--src (說明:存放源代碼,包括java和jsp代碼,下面有四個(gè)目錄。)
      |--ejb (說明:采用EJB進(jìn)行開發(fā),存放EJB和Helper Classes源代碼。)
      |--javabean (說明:采用Javabean進(jìn)行開發(fā),存放Javabean和Helper Classes源代碼。)
      |--servlet (說明:存放Servlet源代碼。)
      |--web (說明:存放JSP源代碼。)
    |--build.bat (說明:在Window OS下,進(jìn)行build的文件。)
    |--build.sh (說明:在Unix OS下,進(jìn)行build的文件。)
    |--build.xml (說明:Ant工具要build的目標(biāo)文件。)
    														

    應(yīng)用程序開發(fā)目錄結(jié)構(gòu)簡(jiǎn)圖:

    																\
    |--build
    |--etc
    |--lib
      |--docs
      |--ejb
        |-- META-INF
      |--j2ee
      	|--META-INF
      |--web
        |--WEB-INF
    |--team
      |--a member
    |--ejb
    |--javabean
    |--web
    |--build.bat
    |--build.sh
    |--build.xml
    |--build.properties
    														

    圖片8 應(yīng)用程序目錄結(jié)構(gòu)圖

    應(yīng)用程序開發(fā)目錄結(jié)構(gòu)

    1. 由于項(xiàng)目由多個(gè)程序員一起來進(jìn)行編碼,所以應(yīng)用程序開發(fā)目錄結(jié)構(gòu)和模塊、組件開發(fā)目錄結(jié)構(gòu)的不一樣。

    2. 應(yīng)用程序開發(fā)目錄結(jié)構(gòu)沒有src目錄,但多了一個(gè)team目錄,此目錄存放所有程序員的classes和Jsp代碼。

    3. 應(yīng)用程序開發(fā)目錄結(jié)構(gòu)下build.xml和模塊、組件開發(fā)目錄結(jié)構(gòu)下的build.xml有很大不同。

    4. 由項(xiàng)目組長負(fù)責(zé)管理etc目錄、build.xml、build.bat、build.sh、build.properties,程序員分別管理team目錄下的屬于自己的目錄,如程序員tom管理team/tom目錄。

    build.xml編碼規(guī)范

    · 應(yīng)用程序目錄下的build.xml

    源代碼:應(yīng)用程序目錄下的build.xml規(guī)范模板

    說明:在建立build.xml時(shí),組長只需修改創(chuàng)建的時(shí)間和變量ProjectName等。

    模塊、組件目錄下的build.xml

    源代碼:模塊、組件目錄下的build.xml規(guī)范模板

    說明:在建立build.xml時(shí),開發(fā)人員只需修改創(chuàng)建的時(shí)間和和變量ProjectName、componentName等。

    編碼規(guī)范

    · 項(xiàng)目中的JAVA源代碼必須按《JAVA開發(fā)規(guī)范》。

    ·項(xiàng)目中的JSP代碼必須按《JSP開發(fā)規(guī)范》。

    · 每位開發(fā)小組成員在開發(fā)項(xiàng)目時(shí)都嚴(yán)格按此規(guī)范來進(jìn)行編寫程序,讓項(xiàng)目中所有的文檔都看起來像一個(gè)人寫的,增加可讀性,減少項(xiàng)目組中因?yàn)閾Q人而帶來的損失。

    · 每位開發(fā)小組成員一定要絕對(duì)遵守這個(gè)規(guī)范。當(dāng)實(shí)際應(yīng)用與下面的規(guī)范相抵觸時(shí),記錄下原因、潛在后果,以及符合規(guī)范需要的條件,但必須是在讓程序有良好的可讀性的前提下。

    功能模塊

    在做業(yè)務(wù)邏輯模塊前,先把一些準(zhǔn)備工作做出來:

    建立一些公用的bean(項(xiàng)目中稱為系統(tǒng)控制器controller),包名為com.cwap.oa.controller.*,提供給系統(tǒng)各模塊使用。包括對(duì)時(shí)間、字符的操作,調(diào)試器,軟件國際化,多語言版本,系統(tǒng)的WEB外殼,MVC模式的Servlet和Action,對(duì)WEB頁面顯示的控制如樹結(jié)構(gòu)、路徑結(jié)構(gòu);等等。

    建立一個(gè)序列發(fā)生器,包名為com.cwap.oa.sequencegenerator.*,提供給bean使用,它用來產(chǎn)生一個(gè)唯一的ID,而且也可用來計(jì)數(shù),也就是把它當(dāng)成計(jì)數(shù)器使用。介紹如何取id的方法的文字要寫在bean的代碼內(nèi),以便生成API后供其它開發(fā)人員參閱。

    建立一個(gè)ServerFacade,它為EJB Home提供統(tǒng)一的接口。ServerFacade為程序要用到的所有EJB的home handle提供緩存,提高訪問效率。以后查找JNDI Name的方法都應(yīng)寫在接口里,調(diào)用時(shí)直接從接口調(diào)用。

    建立一個(gè)翻頁控制器,包名為com.cwap.oa.controller.web.page*,用來進(jìn)行分頁顯示的管理,以后頁面中的分頁都由翻頁控制器管理。

    異常處理和日志

    · 程序中所有的異常處理使用統(tǒng)一的調(diào)試器,bean的名稱為com.cwap.oa.controller.util.Debug,用法見項(xiàng)目API。

    · 程序中所有的日志使用Jakarta-log4j管理,包的名稱為log4j-1.2.5.jar

    官方URL:http://jakarta.apache.org/log4j/docs/index.html

    Session

    · 放在session中的變量統(tǒng)一放在一個(gè)bean里存儲(chǔ),不直接把session變量名稱放在JSP、Servlet或Bean內(nèi),存儲(chǔ)session變量名稱的bean為com.cwap.oa.controller.web.util.WebKeys,取session變量名的方法為getXX()。

    · 取session變量的值的方法統(tǒng)一放在一個(gè)bean里,bean的名稱為com.cwap.oa.controller.web.util.JSPUtil,取session變量值的方法為getXX(),之后要取session變量值就調(diào)用JSPUtil中對(duì)應(yīng)的方法。

    · 當(dāng)前系統(tǒng)中已知的session變量名有"userid"、"userName"、"locale"、"skin"等,userid為用戶標(biāo)識(shí),userName為用戶名稱,locale為用戶選擇的地域,skin為用戶選擇的界面風(fēng)格。

    DAO

    使用DAO封裝SQL語言對(duì)數(shù)據(jù)庫的直接操作,DAO采用Factory模式編寫。

    組件

    所有的業(yè)務(wù)邏輯使用組件技術(shù)。每個(gè)組件內(nèi)同時(shí)提供EJB版本和DAO版本兩種的方法,不推薦直接使用EJB版本和DAO版本的方法。

    多語言版本

    · Bean、Servlet、JSP中的多語言文字采用分離技術(shù),將多語言文字放在資源文件中,保存目錄為/WEB-INF/classes/multi-langs或其它目錄。

    · 當(dāng)前支持的語言有三種:簡(jiǎn)體中文(zh_CN)、繁體中文(zh_HK)、英文(en_US)。

    · 多語言管理器的名稱為com.cwap.oa.controller.util.MultiLangsString,使用方法見本項(xiàng)目API。

    WEB外殼

    · JSP頁面中的圖片、CSS、JS等文件都應(yīng)放在統(tǒng)一目錄,目錄為/skin/skinName/skinLanguage,其中skinName為外殼名稱,skinLanguage為外殼語言版本,例如/skin/green/zh_CN

    · 圖片放在images目錄里,CSS文件放在css目錄里,JS腳本放在js目錄里,其它資源(如聲音、視頻、Flash文件等)存放方法見項(xiàng)目API。

    · 外殼管理器為com.cwap.oa.controller.web.skin.WebSkin,調(diào)用方法統(tǒng)一接口為com.cwap.oa.controller.web.util.JSPUtil。

    在線幫助

    · 在線幫助管理器為com.cwap.oa.help.*,調(diào)用方法統(tǒng)一接口為com.cwap.oa.help.client.HelpClientHelper。

    · 每一個(gè)JSP頁面中提供一個(gè)在線幫助鏈接,用戶點(diǎn)擊它直接進(jìn)入到在線幫助中心。

    用戶管理

    · 建立一個(gè)取用戶名稱的頁面,功能包括只取一個(gè)用戶和取多個(gè)用戶。

    · 打開取用戶名稱頁面的方法,使用頁面腳本,"javascript:return openWinToGetEmployee(frame,id,name,num)",當(dāng)num為0,代表可以取多個(gè)用戶,否則,只能取1個(gè)用戶。

    權(quán)限管理

    · 調(diào)用方法統(tǒng)一接口為com.cwap.oa.controller.web.util.JSPUtil,檢查用戶是否有權(quán)限的方法為JSPUtil.isPermission(userid, permissions)

    · JSP中檢驗(yàn)用戶身份采用include方式,include的文件為checkUser.jsp

    檢驗(yàn)用戶身份是否是一般用戶,調(diào)用方法為

    																<jsp:include page="../include/checkUser.jsp">
      <jsp:param name="type" value="user" />
    </jsp:include>
    														

    檢驗(yàn)用戶身份是否是管理員,調(diào)用方法為

    																<jsp:include page="../include/checkUser.jsp">
      <jsp:param name="type" value="manager" />
    </jsp:include>
    														

    檢驗(yàn)用戶身份是否是超級(jí)管理員,調(diào)用方法為

    																<jsp:include page="../include/checkUser.jsp">
      <jsp:param name="type" value="administrator" />
    </jsp:include>
    														




    摘自賽迪網(wǎng):http://developer.ccidnet.com/art/322/20021014/27601_1.html, http://developer.ccidnet.com/art/322/20021014/27601_2.html

    posted on 2006-09-27 14:48 Warren.Wu 閱讀(246) 評(píng)論(0)  編輯  收藏

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 久久久久久亚洲av无码蜜芽| 国产亚洲精品免费| 成人午夜18免费看| 中文字幕亚洲精品无码| 四虎永久在线精品视频免费观看| 成人免费网站视频www| 亚洲成AV人片在线观看WWW| 1000部无遮挡拍拍拍免费视频观看 | 小小影视日本动漫观看免费| 一道本不卡免费视频| 国产亚洲精品va在线| 永久在线观看www免费视频| 亚洲影院天堂中文av色| 亚洲国产成人久久综合碰| 亚欧日韩毛片在线看免费网站| 亚洲一卡二卡三卡四卡无卡麻豆| 四虎永久在线精品视频免费观看| 99热在线日韩精品免费| 学生妹亚洲一区二区| a级亚洲片精品久久久久久久 | 亚洲视频中文字幕| 免费永久看黄在线观看app| 免费无码中文字幕A级毛片| 粉色视频免费入口| 亚洲国产成a人v在线观看| 久久亚洲精品中文字幕三区| 国产又大又黑又粗免费视频 | 一级毛片免费不卡在线| 一级午夜a毛片免费视频| 在线观看亚洲AV每日更新无码| 亚洲av丰满熟妇在线播放| 亚洲精品国产精品乱码不卡| 成年女人毛片免费播放人| 亚洲免费黄色网址| 久久青草免费91观看| 国产综合免费精品久久久| 一本久久免费视频| 亚洲av午夜国产精品无码中文字| 91亚洲国产成人久久精品| 久久亚洲精品成人av无码网站| 亚洲精品无码乱码成人|