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

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

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

    J2EE劍俠行

    直覺我的J2EE應(yīng)用生涯,打造我心中的一把利劍。

    常用鏈接

    統(tǒng)計(jì)

    技術(shù)鏈接

    最新評(píng)論

    2006年7月24日 #

    找到一個(gè)好用的UML建模工具-argouml

     很不錯(cuò)的一個(gè)UML建模工具-argouml
         argouml下載地址
         我一眼就看上他的原因是:生成的用例和包圖可能直接生成JAVA代碼,而且準(zhǔn)備無誤,這正是我要找的。
         我想:以后使用一些框架的話,可能由PD生成一些實(shí)體,然后Hibernate生成pojo等,加入到argouml,然后根據(jù)一個(gè)框架的特性生成一些包 和類.就等于詳細(xì)設(shè)計(jì)了吧.應(yīng)該來說是比詳細(xì)設(shè)計(jì)還實(shí)用的東西.總比哪些WORD文檔好吧.還有讓人看不懂的概要設(shè)計(jì).
        我想從技術(shù)出發(fā),這個(gè)是一條比較適用的路子.下班了.我明天將會(huì)匯報(bào)一下我使用的情況和一些范例.
        反過來又想像.這好象是一個(gè)組合的腳手架.好象ROR的零星操作步驟.應(yīng)該學(xué)習(xí).ROR畢竟是一個(gè)新生事物,JAVAEYE的推廣也需要一個(gè)時(shí)間.如果像我這樣的打工,混口飯吃的人還是專心的研究J2EE好一點(diǎn).否則明天就沒有飯吃了.

        呵呵.我的文章可被JAVAEYE收回到水貼里了,可能自己的能力不如人吧,好好學(xué)習(xí),天天向上,如果看客有什么好的工具和軟件生產(chǎn)思路,可以共同交流。

    posted @ 2007-06-20 13:29 @家軍 閱讀(1847) | 評(píng)論 (1)編輯 收藏

    ROR:習(xí)慣約定優(yōu)于配置(學(xué)習(xí)ROR的第一天)

    今天學(xué)習(xí)了一下ROR,有一些學(xué)習(xí)經(jīng)驗(yàn)東西要與大家分享。
    給ROR加一個(gè)座右銘--------狹窄心腸的日本產(chǎn)物。
    首先,不要一個(gè)一個(gè)的下載Ruby,Rails,建議使用一鍵安裝,下載地址如下:
    InstantRails-1.3-win
    版本說明:ruby 1.8.4 (2005-12-24) [i386-mswin32]
    其次,下載一個(gè)目前為止比較好的一個(gè)ROR的實(shí)踐工具:RadRails
    下載地址:radrails-0.7.1-win32
    接下來,設(shè)置一下Radrails的環(huán)境
    1)、Windows/perferences/Ruby/Installed Inteperters/ ->add ruby所在路徑:比如D:\InstantRails\ruby\bin\ruby.exe
    2)、Windows/perferences/Rails/Configuration ->Rails path:比如D:\InstantRails\ruby\bin\rails
    ->Rake path:比如D:\InstantRails\ruby\bin\rake 絕不是bat/cmd
    ->mogrel path:比如D:\InstantRails\ruby\bin\mongrel_rails絕不是bat/cmd

    有了如上的配置后,就只需要和在JAVA當(dāng)中ANT一樣使用。(成功用過APPFUSE的人就不用害怕了)

    看看日本人寫的第一步:
    1),在RadRails中創(chuàng)建一個(gè)Rails Project,怎么樣會(huì)出來一堆的東東。
    2),進(jìn)入DOS命令吧,后面的工序都是這樣的,好象買了海爾的洗衣機(jī),第一次是送貨、第二次是用戶回訪,第三次是.....
    進(jìn)入到你的項(xiàng)目處,運(yùn)行ruby script\generate controller MyTest,
    則得到的服務(wù)如下:
    exists app/controllers/
    exists app/helpers/
    create app/views/my_test
    exists test/functional/
    create app/controllers/my_test_controller.rb
    create test/functional/my_test_controller_test.rb
    create app/helpers/my_test_helper.rb
    修改一下my_test_controller.rb

    代碼
    ?????? class ?MyTestController? < ?ApplicationController
    ??????def?index
    ????????render_text?
    " Hello?world!! "
    ??????end?
    ??????end

    在瀏覽器里輸入:http://127.0.0.1:3000/my_test/
    會(huì)出現(xiàn) Hello world!!字樣,
    不過有意思的是你可以輸入:http://127.0.0.1:3000/My_test/
    http://127.0.0.1:3000/My_Test/
    http://127.0.0.1:3000/my_Test/
    都可以得到這個(gè)值,可能沒有JAVA哪樣嚴(yán)格吧。
    3)、還有對(duì)數(shù)據(jù)庫的操作,要配置一個(gè)database.yml(好象Log4j的東東)
    4)、創(chuàng)建數(shù)據(jù)庫表的時(shí)候只能夠使用復(fù)數(shù)起名,比如User就不行,只能夠起Users
    下面只要執(zhí)行幾個(gè)命令就可以使用增刪改查了。
    如下是我的操作,下班了,就不多寫了,例子能夠說明一切問題:
    代碼
    ?1?E:\RORProject\demo>ruby?script/generate?model?user
    ?2?
    ?3???????exists??app/models/
    ?4?
    ?5???????exists??test/unit/
    ?6?
    ?7???????exists??test/fixtures/
    ?8?
    ?9???????create??app/models/user.rb
    10?
    11???????create??test/unit/user_test.rb
    12?
    13???????create??test/fixtures/users.yml
    14?
    15???????exists??db/migrate
    16?
    17???????create??db/migrate/001_create_users.rb
    18?
    19?E:\RORProject\demo>ruby?script/generate?controller?user
    20?exists?app/controllers/
    21?exists?app/helpers/
    22?create?app/views/user
    23?exists?test/functional/
    24?create?app/controllers/user_controller.rb
    25?create?test/functional/user_controller_test.rb
    26?create?app/helpers/user_helper.rb
    27?

    修改user_controller.rb如下:
    代碼
    1????class?UserController?<?ApplicationController
    2????????scaffold:user
    3????end

    最后你的瀏覽器當(dāng)中輸入:http://127.0.0.1:3000/user/list,就包括了對(duì)數(shù)據(jù)庫表的四個(gè)操作.當(dāng)然你也可以自己定義四個(gè)操作的任意一種.
    最后總結(jié):
    ROR可能是敏捷開發(fā)的一個(gè)好實(shí)踐,但是我覺得他完成復(fù)雜應(yīng)用進(jìn)不會(huì)有大做為,而至于這一點(diǎn)還需要再做探究。不過現(xiàn)階段最好的需求就是能夠給用戶快速的寫出一個(gè)不完整的DEMO,這一點(diǎn)為以后打單取得主動(dòng)。

    posted @ 2006-09-29 11:47 @家軍 閱讀(1995) | 評(píng)論 (1)編輯 收藏

    三個(gè)JAVA文件完成你的MVC應(yīng)用

         摘要: 只需要你三個(gè)JAVA類和兩個(gè)配置文件,就可以完成你的MVC應(yīng)用,我們就做一個(gè)示例吧。本文以一個(gè)登錄為例。第一個(gè)JAVA文件Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->/**======================================...  閱讀全文

    posted @ 2006-09-29 11:43 @家軍 閱讀(1901) | 評(píng)論 (3)編輯 收藏

    struts標(biāo)簽,請(qǐng)你走開(系列一)

    在項(xiàng)目開發(fā)的很多時(shí)候,用戶需要更友好,更容易理解的操作界面,而為了能夠達(dá)到這種表現(xiàn)界面,struts標(biāo)簽顯得力不從心,本人經(jīng)過幾個(gè)項(xiàng)目的開發(fā)當(dāng)中 逐漸的擯棄了struts標(biāo)簽,而由JSTL來做為JSP頁面的表達(dá)者。
    struts標(biāo)簽之死穴一 不支持嵌套
    看看這種常見的需求吧。一個(gè)用戶隸屬于一個(gè)職能部門,比如
    項(xiàng)目要求 職能部門有五個(gè)(亂寫的)
    1、企劃部
    2、網(wǎng)絡(luò)集成部
    3、行政部
    4、營(yíng)銷部
    5、產(chǎn)品部
    項(xiàng)目要求 一共有二個(gè)員工
    1、張三 隸屬于行政部
    2、李四 隸屬于營(yíng)銷部
    而你想把張三和李四都列表出來,顯示為如下:
    姓名 部門名稱
    張三 行政部
    李四 營(yíng)銷部
    而且還需要用戶的列表鏈接到修改頁面當(dāng)中(假如只修改部門)應(yīng)該如何做呢。
    在使用struts標(biāo)簽是很難做到的,除非你非常不在意內(nèi)存的使用(亂寫技術(shù)性代碼)
    看看JSTL是如何做的吧。
    從STRUTS的ACTION當(dāng)中加載兩個(gè)對(duì)象

    List?GetAllDept? = ?UserDAO.GetAllDept(); // 取得所有部門

    List?GetALLUser?
    = ?UserDAO.GetAllUser(); // 取得所有用戶

    request.setAttribute(
    " View_Dept " ,?GetAllDept);

    request.setAttribute(
    " View_User " ,?GetALLUser);
    在頁面當(dāng)中加入對(duì)JSTL的引用
    <%@?taglib?uri="http://java.sun.com/jsp/jstl/core"?prefix="c"%>

    然后寫代碼如下:
    <table>

    <tr>

    <td?align="center">

    <a?href="User.do?method=EditUser&UserId=<c:out?value='${View_User.UserId}'/>">

    <c:out?value="${View_User.UserName}"?/>?</a>

    </td>

    <td?align="center">

    <c:forEach?items="${View_Dept}"?var="View_Dept">

    <c:if?test="${View_User.Dept.DeptId==View_Dept.DeptId}">

    <c:out?value="${View_Dept.DeptName}"?/>

    </c:if>????????????????????????????

    </c:forEach>

    </td>

    </tr>

    </table>

    其中View_User.Dept.DeptId表示USER表與DEPT表的一個(gè)關(guān)系(外鍵)
    你就可以看到所顯示的列表了。

    還有如果在修改用戶時(shí),則也與上面的差不多,首先在ACTION當(dāng)中加入:

    String?ModifyUserId?=?request.getParameter("GroupUserId");

    if?(ModifyUserId?==?null?&&?ModifyUserId.equals(""))?{

    //這是出錯(cuò)處理

    request.setAttribute(
    "UserMsg",?"User.ValidateUser");

    return?mapping.findForward("Fail");

    }

    DynaValidatorForm?UserActionForm?
    =?(DynaValidatorForm)?form;

    User?user?
    =?UserDAO.GetUser(ModifyUserId);????????

    List?GetAllDept?
    =?UserDAO.GetAllDept();//取得所有部門

    request.setAttribute(
    "View_Dept",?GetAllDept);

    UserActionForm.set(
    "User",?User);
    然后頁面當(dāng)中顯示如下(部門為L(zhǎng)ISTBOX),例子當(dāng)中只顯示部門
    <html:select?property="DeptAsString">????????????

    <c:forEach?items="${View_Dept}"?var="View_Dept">????????

    <c:choose>????????????????????????

    <c:when?test="${User.Dept.DeptId==View_Dept.DeptId}">

    <option????value="<c:out?value='${View_Dept.DeptId}'?/>"selected>????

    <c:out?value="${View_Dept.DeptName}"?/>????????????

    </option>????????????????????????????

    </c:when>????????????????????????????

    <c:otherwise>????????????????????????

    <option?value="<c:out?value='${View_Dept.DeptId}'?/>">????????

    <c:out?value="${View_Dept.DeptName}"?/></option>????????

    </c:otherwise>????????????????????????

    </c:choose>

    </c:forEach>

    </html:select>

    可以看到HTML的SELECT有一個(gè)DeptAsString,你可以在FORM當(dāng)中指定一個(gè)STRING的FORM屬性。
    這樣用戶的要求就可以完成了。
    本次只說明方法,而代碼沒有經(jīng)過測(cè)試。希望大家多多觀注我的BLOG,下一次將臭罵ACTIONFROM不支持的DATE類型及解決方法。

    posted @ 2006-09-25 16:36 @家軍 閱讀(448) | 評(píng)論 (0)編輯 收藏

    用二維數(shù)組管理好你零亂的狀態(tài)、分類和其它常用選項(xiàng)

         摘要: 在大家的編碼過程當(dāng)中,有沒有遇到過這么一種情況,很多零亂的狀態(tài)、分類和其它常用選項(xiàng)常常是定義死了。但是沒有一個(gè)完整的東東來約束他,在每個(gè)模塊當(dāng)中使用相關(guān)的信息時(shí),往往重新COPY一次,或者COPY過來修改一次。如果多人協(xié)作的話,務(wù)必會(huì)讓代碼變的零亂、不好管理等。
    本次主要是把一些靜態(tài)的分類、狀態(tài)或者其它常用選項(xiàng)使用二維數(shù)組管理起來。如果你是一個(gè)使用JSTL或者STRUTS做前臺(tái)表現(xiàn)的話,你就更應(yīng)該好好關(guān)注了.......  閱讀全文

    posted @ 2006-09-05 13:31 @家軍 閱讀(1279) | 評(píng)論 (0)編輯 收藏

    如果失去工作會(huì)怎么辦?

    ??? 在工作當(dāng)中,遇到了一個(gè)不明智的上級(jí),我是劉羅鍋,但是領(lǐng)導(dǎo)不一定是乾隆。設(shè)計(jì)當(dāng)中的爭(zhēng)執(zhí)成為私下做對(duì)的理由,從此,我感覺到今年的財(cái)運(yùn)不佳。
    ??? 因?yàn)楣ぷ鳟?dāng)中的爭(zhēng)執(zhí),而讓領(lǐng)導(dǎo)失去了面子??我在郁悶當(dāng)中,為什么呀!好事反而成了壞事。
    ??? 領(lǐng)導(dǎo)的報(bào)復(fù)心理,讓我失去了績(jī)效,所以我感覺到財(cái)運(yùn)不佳。我很想跳出這個(gè)魔鬼圈,是不是能夠改善一下自己的經(jīng)濟(jì)收入呢?正在想離開這個(gè)公司......
    ??? 發(fā)現(xiàn)自己的軟肋:UML整體設(shè)計(jì)(最好有代碼生成)和XP敏捷開發(fā)。近期需要加強(qiáng)這兩方面的學(xué)習(xí),可以以權(quán)限設(shè)計(jì)為UML做為訓(xùn)練(生成代碼??),以CRM->VtigerCRM為業(yè)務(wù)主線,做一個(gè)XP開發(fā),不過VtigerCRM的表設(shè)計(jì)真是很糟糕,Indiea人呀。
    ??? 今年的公司很亂,是一個(gè)很糟糕的管理層,可能我以后離開這個(gè)公司后才感覺到領(lǐng)導(dǎo)者的“聰明才智”吧!完全在內(nèi)耗當(dāng)中生存。我已經(jīng)被領(lǐng)導(dǎo)國邊緣化,我會(huì)在灰色的區(qū)域彷徨很長(zhǎng)的時(shí)間,或許公司另有高人吧,我已經(jīng)被領(lǐng)導(dǎo)逐漸忽視,自己發(fā)光的時(shí)間也只有一年,好象知了一樣。
    ??? “人貴有自知之明”,如果領(lǐng)導(dǎo)沒有重視,只是為了發(fā)揮自己的最低性能的話,我完全有很多的時(shí)間來學(xué)習(xí)知識(shí),我很慶幸自己和開源代碼有很大的信心,我將在以后的時(shí)間里,為開源界展示自己的能力。
    ??? 首先要把自己學(xué)習(xí)到的知識(shí)透明化,其次我會(huì)在開源中小型的CRM軟件當(dāng)中做出自己應(yīng)有的貢獻(xiàn)。

    posted @ 2006-07-24 11:37 @家軍 閱讀(468) | 評(píng)論 (1)編輯 收藏

    主站蜘蛛池模板: 免费在线观看中文字幕| 日韩激情无码免费毛片| 国产亚洲欧洲Aⅴ综合一区| 免费国产草莓视频在线观看黄| 在线免费视频一区二区| 亚洲综合色婷婷在线观看| 午夜时刻免费入口| 亚洲AV色欲色欲WWW| 亚洲成aⅴ人片久青草影院| 成人国产网站v片免费观看| 亚洲美女在线国产| a毛片免费在线观看| 亚洲国产精久久久久久久| 在线观看免费中文视频| 亚洲日韩在线视频| 免费被黄网站在观看| 美女视频免费看一区二区| 亚洲熟伦熟女新五十路熟妇 | 亚洲国产成人无码av在线播放| 在线观看永久免费| 亚洲一区二区三区国产精华液| 国产免费av一区二区三区| 一级午夜a毛片免费视频| 亚洲国产精品无码久久SM| 亚洲免费在线视频观看| 亚洲av无码av在线播放| 337p日本欧洲亚洲大胆裸体艺术| 十八禁视频在线观看免费无码无遮挡骂过 | 97久久国产亚洲精品超碰热| 国产精品久久久久久久久久免费| 国产成人亚洲精品电影| 不卡一卡二卡三亚洲| 国产精品视频免费观看| 在线精品自拍亚洲第一区| 日本亚洲成高清一区二区三区 | 亚洲一级毛片免费看| 亚洲AV第一成肉网| 亚洲国产精品自在线一区二区 | 久久成人永久免费播放| 亚洲男人的天堂在线| 亚洲国产91精品无码专区|