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

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

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

    sharky的點(diǎn)滴積累

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      56 隨筆 :: 104 文章 :: 10 評(píng)論 :: 0 Trackbacks

    摘要:

    這是我翻譯的 Myeclipse 的一篇關(guān)于創(chuàng)建 Struts 應(yīng)用的文檔。粗略的翻譯,有些我翻譯不了或者認(rèn)為沒有必要的就刪去了。我的表達(dá)能力差,翻譯起來更差勁。讀文檔的時(shí)候,感覺很順利,很輕松,于是就想試著翻譯一下,可是一旦做起來,才發(fā)現(xiàn)很難。有些句子的意思很明白,可是一旦轉(zhuǎn)化成中文的時(shí)候,感覺就在嘴邊打轉(zhuǎn),可是又吐不出來。真難受呀。好不容易湊成了一篇,也就貼出來了。讀著讀著發(fā)現(xiàn)自己都讀不下去了。呵呵,慢慢來,總會(huì)好的 正如我對(duì)自己的評(píng)說:一切正向著好的方向前進(jìn),盡管很慢。

    目錄:

    1  序
    2  介紹
    3  必備
    4  構(gòu)造一個(gè)新項(xiàng)目
    5  開始一個(gè) Struts 項(xiàng)目
    ?  Struts 項(xiàng)目的組件
    ?  搭建應(yīng)用程序
    6 運(yùn)行
    7  總結(jié)

    正文:

    1. 序

    此文檔適應(yīng) Sun JDK 1.4.2, Eclipse 3.0.1 and MyEclipse 3.8.2. 環(huán)境。所有的屏幕截圖都是基于 Eclipse, MyEclipse Enterprise Workbench, and Windows XP 的默認(rèn)用戶接口設(shè)置。如果你在使用這個(gè)文檔的過程中遇到困難,請(qǐng)看用戶反饋部分,以反饋給 MyEclipse documentation team 。

    2. 說明

    在這個(gè)用戶指南中我們將通過 MyEclipse Enterprise Workbench 來開發(fā)和測(cè)試一個(gè)簡(jiǎn)單的 Struts 示例應(yīng)用。這并不需要我們具有 Struts 或者 MyEclipse 的預(yù)備知識(shí)。

    3. 必備工具

    JDK 1.4+ (Sun or IBM)

    http://java.sun.com/j2se/downloads/index.html

    Eclipse 3.0.x SDK

    http://www.eclipse.org/downloads/index.php

    MyEclipse 3.8.2

    http://www.myeclipseide.com/ContentExpress-display-ceid-10.html

    Tomcat 5.0.x ( 首選 5.0.28 P referred, 或其他 Servlet/EJB 容器 )

    http://apache.xtelli.net/jakarta/tomcat-5/v5.0.28/bin/jakarta-tomcat-5.0.28.exe

    4. 構(gòu)造一個(gè)新項(xiàng)目

    為了有效的組織我們的開發(fā),我們需要在添加了 Struts Capabilities 的 MyEclipse 中創(chuàng)建一個(gè)新的 Web Module Project 。 你可以創(chuàng)建一個(gè) web project 通過菜單 File > New > Other > Project > J2EE > Web Project ,如下圖所示

    圖 1--- 新建 Web Project 對(duì)話框

    然后鍵入關(guān)于新項(xiàng)目的所有信息 ,如下圖:

    圖 2 ---- 設(shè)置 Web Project

    一旦創(chuàng)建了 Web Project ,我們需要為 MyEclipse 添加 Struts Capabilities 。這可以通過右擊 Package Explorer 視圖中 項(xiàng)目的名稱,并且依次選擇 MyEclipse > Add Struts Capabilities 做到。如下面圖示:

    圖 3 :在 Web Project 中 添加 Struts Capabilities

    對(duì)這個(gè)應(yīng)用來說, Struts 對(duì)話框的默認(rèn)值已經(jīng)很適合了。但是,你可以改變 Base package for new classes 來適應(yīng)你的情況。如下圖 4 所示,我們只是簡(jiǎn)單的保留這些默認(rèn)值。

    圖 4---- 配置 Struts Capabilities

    當(dāng)完成上面的步驟,項(xiàng)目的結(jié)構(gòu)會(huì)如下圖 5 所示

    圖 5 ---- 配置后的項(xiàng)目結(jié)構(gòu)視圖

    現(xiàn)在我們已經(jīng)成功地創(chuàng)建完項(xiàng)目,然后可以開始構(gòu)建 web 的內(nèi)容了,現(xiàn)在轉(zhuǎn)入下一步。

    5. 開始一個(gè) Struts 項(xiàng)目

    這一部分我們將要集中創(chuàng)建一個(gè) Struts 應(yīng)用示例,這個(gè)實(shí)力是在模仿一個(gè)簡(jiǎn)單的網(wǎng)站登錄屏幕。所以,僅需要 2 個(gè) Jsp 頁面,一個(gè)提示用戶登錄,另一個(gè)簡(jiǎn)要的說明登錄成功。我們分別命名這 2 個(gè) jsp 頁面為 userLogin.jsp 和 userL oginSuccess.jsp 。 如果用戶試圖登錄時(shí)存在授權(quán)錯(cuò)誤,將直接指導(dǎo)用戶返回 LoginUser.jsp 并且顯示錯(cuò)誤信息。

    一般來說,當(dāng)開始一個(gè) Struts 項(xiàng)目的時(shí)候,設(shè)計(jì)好應(yīng)用的流程是很有用的。這樣,開發(fā)團(tuán)隊(duì)就會(huì)對(duì)項(xiàng)目中所有元素的組合有一個(gè)更好的認(rèn)識(shí)。創(chuàng)建流程最容易的方法就是通過使用 Struts 圖形化設(shè)計(jì)模式。 Struts 編輯器提供了一個(gè)可以拖放工具,它可以使你通過快速的復(fù)制頁面流程來構(gòu)造應(yīng)用。這個(gè)應(yīng)用示例 Login 的流程就如下圖 6 所示

    圖 6 ----- 應(yīng)用程序的流程

    我們可以從上面的設(shè)計(jì)視圖中看到此應(yīng)用開始于 userLogin.jsp 頁面的顯示。此登錄頁將要調(diào)用 userLogin 動(dòng)作( action )來執(zhí)行用戶的登錄操作。如果出現(xiàn)驗(yàn)證錯(cuò)誤或問題, userLogin action 將引導(dǎo)用戶返回 userLogin.jsp 頁面。然而,如果登錄成功,應(yīng)用將轉(zhuǎn)向 userLoginSuccess.jsp 頁面。

    5.1 Struts 項(xiàng)目的組件

    一個(gè)典型的 Struts 項(xiàng)目會(huì)包括以下組件

    JSPs

    Actions

    ActionForwards*

    ActionForms**

    Struts 部署文件 : struts-config.xml

    在 MyElcipse 中可以通過 3 個(gè)不同的方法創(chuàng)建所有組件或者其中一個(gè)組件(除了 struts-config.xml )

    方法 1 :使用菜單 File > New > Other... > J2EE > Struts 1.1 (or 1.0) , 如下圖:

    圖 7

    對(duì)話框?qū)⒅苯右龑?dǎo)你并且提示你所有被 Struts 組件支持的值。一些部件要比其他的復(fù)雜。例如:如下圖 8 所示的對(duì)話框,你可以看到 Struts Action 支持的所有特征已經(jīng)被賦予了容易理解的值

    圖 8----- 對(duì)話框:創(chuàng)建新的 Struts Action

    方法 2 :使用 Outline 視圖。從此視圖中,你可以通過右擊任何一個(gè)組件類型彈出菜單來創(chuàng)建此類型的新組件。圖 9 如下:

    圖 9----Outline 視圖

    方法 3 : Struts 圖形化編輯器(如下圖 10 )也是一個(gè)創(chuàng)建 Struts 組件的方便之路。打開 struts-config.xml 文件,單擊編輯器下面的 Design 標(biāo)簽就可以打開 Struts 圖形化編輯器

    圖 10----- 打開 Struts 圖形化編輯器:

    然后轉(zhuǎn)到如下圖 11 所示的編輯模式界面:

    圖 11 ----- Struts 圖形化設(shè)計(jì)模式視圖

    現(xiàn)在我們已經(jīng)知道怎么創(chuàng)建 Struts 部件的不同組件了,我們可以創(chuàng)建 Login 應(yīng)用的不同部分了。下面接著來

    5.2 搭建應(yīng)用程序

    我們通過集中創(chuàng)建 Jsp 頁面來開始搭建示例應(yīng)用。既然我們的應(yīng)用模擬某個(gè)網(wǎng)站登錄界面,那么僅需要 2 個(gè) jsp 頁面: userLogin.jsp 和 userLoginSuccess.jsp 。像大多數(shù) Struts 應(yīng)用程序一樣,如果再登錄過程發(fā)生錯(cuò)誤,將引導(dǎo)用戶回到 userLogin.jsp 并提示出錯(cuò)(我們并不需要一個(gè)專門的出錯(cuò)頁面 userLoginFailure.jsp )。

    首先,創(chuàng)建 userLoginSuccess.jsp 。看起來像是首先創(chuàng)建最后的頁面,這樣做的目的是我們可以利用 New Form, Action and JSP 來創(chuàng)建 userLogin.jsp, 這個(gè)頁面關(guān)聯(lián) Action 和 ActionForm 。

    下圖 12 就是開始在 Struts 設(shè)計(jì)模式下創(chuàng)建 userLogin.jsp

    圖 12---- 創(chuàng)建 jsp 頁面

    在點(diǎn)擊后,系統(tǒng)將提示圖下圖 13 所示的對(duì)話框

    注意:一定要選 Standard JSP using Struts 1.1

    圖 13---- 配置 userLoginSuccess.jsp

    在單擊 Finish 之后,設(shè)計(jì)試圖上顯示最新創(chuàng)建的頁面。如下圖 14

    圖 14

    要完成這個(gè) jsp 頁面就只剩輸出那些告知用戶已經(jīng)成功登錄的信息了!下面給出了 userLoginSuccess.jsp 的源代碼:

    userLoginSuccess.jsp

    <%@ page language= "java"%>

    <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-tiles" prefix="tiles" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-template" prefix="template" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-nested" prefix="nested" %>

    <!DOCTYPE HTML PUBLIC "-//W 3C//DTD HTML 4.01 Transitional//EN">
    <html:html locale="true">
    <head>
    <title>My Struts 'userLoginSuccess.jsp' ending page</title>
    </head>

    <body>
    Hello <bean:write name="userName" scope="request" />, you successfully logged in!
    </body>
    </html:html>

    這個(gè)頁面很簡(jiǎn)單。我們唯一要做的事情 <body> 標(biāo)簽的內(nèi)容:輸出變量 userName 的值,這個(gè)變量 userName 是存儲(chǔ)在此應(yīng)用請(qǐng)求過程中。所以,在隨后要?jiǎng)?chuàng)建的 action 中,需要我們放置一個(gè) userName 屬性在請(qǐng)求過程中。

    此刻,我們還要?jiǎng)?chuàng)建 userLogin.jsp , ActionForm 和 Action 。看起來工作量不少啊,但是 MyEclipse 可以通過 New Form and New Form, Action and JSP 對(duì)話框 方便的創(chuàng)建他們。

    繼續(xù)構(gòu)建這個(gè)應(yīng)用,右擊 Struts designer 畫布的空白處。選擇 new ,接著選擇 New Form, Action and JSP 如下圖 15 所示:

    圖 15------- 啟動(dòng) New Form, Action, JSP

    首先出現(xiàn)的是: New Form 對(duì)話框。一定要輸入 user case 名稱。下圖 16 展現(xiàn)了你將要填寫的 user case 名稱 的值

    圖 16

    下面我們將要添加 2 個(gè)表單屬性: userName 和 password 。當(dāng)添加 password 域時(shí),選擇 JSP input type 為 password 。如圖 17 所示:

    圖 17 ----- 為表單添加屬性

    圖 18 -----Form 屬性

    在單擊 Next 前,一定要單擊 JSP 標(biāo)簽并如下圖 19 一樣操作。

    圖 19

    最后我們單擊 Methods 標(biāo)簽,不要選擇任何方法。如下圖 20

    圖 20

    單擊 Next 按鈕后,出現(xiàn) New Action 對(duì)話框,你可以看到已經(jīng)為你填寫了大多數(shù)的值。圖 21 就是這個(gè)對(duì)話框的截圖。如下:

    圖 21

    你可以單擊 Forwards 標(biāo)簽來指定 ActionForwards 。如下圖 22

    圖 22

    在為這個(gè) action 添加完 Forwards 后,單擊 Finish 按鈕。 MyEclipse 會(huì)創(chuàng)建資源并更新 struts-config.xml 文件。圖 23 展示了更改后的結(jié)構(gòu)。

    圖 23

    現(xiàn)在系統(tǒng)的流程已經(jīng)被卻確定,我們需要為這個(gè) Action 添加邏輯來控制 登錄流程。通過雙擊可以快速的跳轉(zhuǎn)到任何資源。就像下圖 24 展示的一樣

    圖 24

    當(dāng)你第一次打開 UserLoginAction.java 的時(shí)候,為 execute ()方法自動(dòng)生成的代碼如下:

    UserLoginAction.java

    public ActionForward execute(
    ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response) {
    UserLoginForm userLoginForm = (UserLoginForm) form;
    throw new UnsupportedOperationException(
    "Generated method 'execute(...)' not implemented.");
    }

    修改 userLoginAction.java 的 execute ()方法后如下:

    UserLoginAction.java

    public ActionForward execute(
    ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response) {
    UserLoginForm userLoginForm = (UserLoginForm) form;

    if(userLoginForm.getUserName().equals("myeclipse") && userLoginForm.getPassword().equals("myeclipse"))
    {
    request.setAttribute("userName", userLoginForm.getUserName());
    return mapping.findForward("success");
    }

    return mapping.findForward("failure");
    }

    這里我們做了很簡(jiǎn)單的事情,僅僅檢驗(yàn) userName 和 password 是不是都為 myeclipse 。如果是,存儲(chǔ) userName 在請(qǐng)求過程中,并轉(zhuǎn)向: success ,因此 userLoginSucces.jsp 會(huì)顯示出個(gè)人化的信息。否則,出錯(cuò)后將要轉(zhuǎn)向 failse 。在實(shí)際應(yīng)用中,你應(yīng)該添加 ActionMessages 或者 ActionErrors 集合一解釋發(fā)生了什么事情。

    6. 運(yùn)行

    現(xiàn)在應(yīng)用程序已經(jīng)完成,我們要把它部署到 Tomcat5 。打開 Package Explorer 視圖并且右擊項(xiàng)目,然后依次選擇 MyEclipse > Add and Remove Project Deployments 或者單擊工具條的 Deploy J2EE Project to Server 按鈕。如下圖 25

    圖 25

    完成部署后檢測(cè)部署狀態(tài)來確保正確部署。你可以按照?qǐng)D 26 做

    圖 26

    最后按照?qǐng)D 27 來啟動(dòng) Tomcat 來使用應(yīng)用服務(wù)器

    圖 27

    服務(wù)器啟動(dòng)的時(shí)候, Eclipse 的 Console 視圖會(huì)顯示啟動(dòng)狀態(tài)。如圖 28

    圖 28

    當(dāng) Tomcat5 運(yùn)行起來,我們就可以通過 MyEclipse 的 Browser 視圖來測(cè)試示例應(yīng)用了。選擇菜單 Window > Show View > Other... 截圖如下圖 29 所示

    圖 29

    在地址欄中輸入網(wǎng)址,如下圖所示

    圖 30

    說明程序能正常運(yùn)行。按照下圖 31 輸入 userName 和 passwod

    圖 31

    登錄以后,我們被引導(dǎo)到成功登錄界面。如圖 32

    圖 32

    7. 總結(jié)

    在這個(gè)示例中,我們通過 MyEclipse Enterprise Workbench 提供的 Struts 工具開發(fā)了一個(gè)簡(jiǎn)單的 Struts 應(yīng)用。

    我們可以看大 MyEclipse 帶給我們益處:高效,方便。

    posted on 2005-10-03 22:39 sharky的點(diǎn)滴積累 閱讀(200) 評(píng)論(0)  編輯  收藏

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲国产91在线| 亚洲乱色熟女一区二区三区丝袜| 国产免费AV片在线播放唯爱网 | 一级毛片免费观看不收费| 日韩免费一级毛片| 亚洲精品成a人在线观看☆ | 亚洲国产精品无码久久久久久曰 | 日韩版码免费福利视频| 亚洲成综合人影院在院播放| 67194成手机免费观看| 亚洲剧情在线观看| 妞干网在线免费视频| 国产亚洲福利一区二区免费看| 国产成人免费a在线视频app| 日本激情猛烈在线看免费观看| 国产成人亚洲精品影院| a毛片视频免费观看影院| 久久亚洲中文字幕精品有坂深雪| 免费观看激色视频网站(性色)| 亚洲中文字幕久久精品蜜桃| 又爽又高潮的BB视频免费看| 一级毛片试看60分钟免费播放| 亚洲精品无码MV在线观看| 91久久成人免费| 男男黄GAY片免费网站WWW| 亚洲人成伊人成综合网久久久 | 久久久久久久99精品免费| 亚洲欧洲日韩在线电影| 国产成人免费手机在线观看视频 | 亚洲AV无码国产在丝袜线观看| 啦啦啦完整版免费视频在线观看 | 亚洲а∨天堂久久精品| a级在线观看免费| 亚洲一区二区无码偷拍| 国产日产亚洲系列最新| 1000部免费啪啪十八未年禁止观看| jiz zz在亚洲| 亚洲VA中文字幕无码毛片| 国产三级在线观看免费| 成年女人A毛片免费视频| 亚洲va成无码人在线观看|