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

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

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

    posts - 14,  comments - 37,  trackbacks - 0

    前置條件:

           假設用戶已經按照《appfuse執行步驟》文檔進行配置并操作,最后產生了一個叫uappweb應用。如果用戶需要新增加功能,只要按照下面的步驟去操作就可以輕松地完成任務。


     

     

     

     

    開發步驟:

    1.         先在數據庫里創建表。例如,student表。注意,表的名稱的第二個字母最好不要大寫。以免出現奇怪的問題(好像是hibernatebug)。

    2.         把目錄切換到appgen的工作目錄,修改文件tables。把里面的內容先去掉,然后添加新的表名。例如,student。

    3.         appgen的工作目錄下,運行Ant generate。

    運行結果:從數據庫里讀取表結構,并生成相關的strus表單、jsp文件、hibernatePOJO對象、DAOmanager對象、struts配置文件、spring配置文件、velocity的模板文件。

     

     

    4.         轉到uapp目錄下,執行ant package-web生成WAR文件

    這個過程里,

    a)         會根據java文件生成hibernate的映射文件;

    b)        compile-dao。編譯dao目錄下的java對象。

    c)        package-dao。把dao目錄下的classes打包成demo-dao.jar;

    d)        compile-service。編譯service目錄下的java對象。

    e)         package-service。把service目錄下的classes打包成demo-service.jar

    f)         copy-resources。期間,會調用native2ascii Converting 1 file from D:projectappfusemyappfusedemowebWEB-INFclasses to D:projectappfusemyappfusedemobuildwebclasses

    g)        generate.database.properties

    h)        copy-web-files。

    i)          gen-forms。根據struts配置文件產生Form表單對象。

    j)          compile-web。會編譯action對象。    javac Compiling 40 source files to D:projectappfusemyappfusedemobuildwebclasses

    k)        webdoclet。產生

                             i.              web.xml

                           ii.              uapp.tld

                          iii.              struts-config.xml

                         iv.              validation.xml

                           v.               

     

    l)          package-web.。生成war包。

     

     

     

    注意:我們經常要處理實體間的關系,如一對多,多對多。而appgen產生的POJO對象往往都太簡單,沒有處理這些復雜的關系。所以,我們需要手工地修改POJO對象,建立對象的關聯。例如,在Parent對象里建立對Child的關聯。

    Parent.java對象里,增加

     

    private Set children =new HashSet();

    /**

           * @return Returns the booths.

           *

           *

           * @hibernate.collection-one-to-many

           * class="org.aos.exhibition.model.Child"

           *

           * @hibernate.collection-key column="pid"

           *

           * @hibernate.set

           * name="children"

           * table="child"

           * inverse="true"

           * sort="unsorted

           * lazy="true"

           * cascade="all"

           */

     

     

        public Set getChildren()

        {

               return this.children;

        }

          

           還有相關的addChildren(Child child)方法和getChildren()方法。

     

     

    Child對象里,增加

    private Parent parent;

     

     

    /**

            * @return Returns the parent.

            *

            * @hibernate.many-to-one name="parent"

            * column="pid"

            * not-null="false"

            * cascade="all"

            * 

            */

           public Parent getParent() {

                  return parent;

           }

     

     

           public void setParent(Parent parent) {

                  this.parent = parent;

           }

    最后,運行ant package-web產生相關的hibernate映射文件,并編譯。

     

     

    在編譯的過程中,可能會有一些錯誤,例如, ActionForm包名的錯誤導致編譯問題。

    org.appfuse.model.Parent應該為org.aos.exhibition.model.Parent。需要自己修改相關的ActionForm,把包名更正。

     

     

    1.         另外,我們經常會發現appgen給我們產生的jsp代碼框架太簡單,不能符合我們的要求,例如樣式、布局等等。那么我們需要修改uappwebpages目錄下的jsp文件。

    2.         部署。執行ant deploy. 發布web應用到tomcatwebapps目錄下。

    3.         拷貝D:Tomcat50webappsdemoWEB-INFclassesorgappfusewebappactionLookupMethods.propertiesclassesorgaosexhibitionwebappaction 目錄下。

    4.         如果是中文版本,還需要把ApplicationResources_en.properties里面新增的內容拷貝到ApplicationResources_zh_CN.properties文件里面。

     

     

    5.         使用鏈接:http://localhost:端口號/uapp/ 來啟動web應用。如果在調試過程中發生net.sf.hibernate.HibernateException: Batch update row count wrong這樣的異常,那需要重新運行Ant generate,從第三步開始作一遍

    posted on 2007-07-18 16:43 冰封的愛 閱讀(250) 評論(0)  編輯  收藏 所屬分類: J2EE
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(3)

    隨筆檔案

    文章分類

    文章檔案

    相冊

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲国产美女福利直播秀一区二区| 亚洲综合精品成人| www.999精品视频观看免费| 亚洲AV永久无码天堂影院| 国产亚洲精品拍拍拍拍拍| 国产成人精品免费视频网页大全| 亚洲JIZZJIZZ妇女| 亚洲AV无码久久精品蜜桃| 成年女人免费碰碰视频| 97人妻精品全国免费视频| 亚洲国产日韩精品| 日本红怡院亚洲红怡院最新| 人妻视频一区二区三区免费| 中国一级特黄的片子免费 | 免费看国产精品麻豆| 国产无遮挡无码视频免费软件| 亚洲日韩AV一区二区三区四区 | 久久久久久99av无码免费网站| 免费无码国产在线观国内自拍中文字幕| 亚洲A∨无码一区二区三区 | 国产亚洲精品bv在线观看| 亚洲伊人久久精品影院| 黄a大片av永久免费| 91高清免费国产自产拍2021| 污网站在线观看免费| 亚洲免费电影网站| 久久夜色精品国产亚洲| 亚洲精品A在线观看| 国产成在线观看免费视频| 最新亚洲成av人免费看| 国产精品亚洲综合| 亚洲a级片在线观看| 亚洲91av视频| 亚洲日韩欧洲乱码AV夜夜摸| 成人伊人亚洲人综合网站222| 性短视频在线观看免费不卡流畅| 亚洲精品偷拍视频免费观看| 无码天堂va亚洲va在线va| 亚洲另类春色校园小说| 久久久久亚洲AV无码专区首JN| 亚洲综合无码精品一区二区三区 |