伊峰獨居

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            30 隨筆 :: 30 文章 :: 5 評論 :: 0 Trackbacks

          MyEclipse Struts 快速上手

          ??

          1. 序

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

          2. 說明

          在這個用戶指南中我們將通過 MyEclipse Enterprise Workbench 來開發和測試一個簡單的 Struts 示例應用。這并不需要我們具有 Struts 或者 MyEclipse 的預備知識。

          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. 構造一個新項目

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

          圖 1--- 新建 Web Project 對話框

          然后鍵入關于新項目的所有信息 ,如下圖:

          圖 2 ---- 設置 Web Project

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

          圖 3 :在 Web Project 中 添加 Struts Capabilities

          對這個應用來說, Struts 對話框的默認值已經很適合了。但是,你可以改變 Base package for new classes 來適應你的情況。如下圖 4 所示,我們只是簡單的保留這些默認值。

          圖 4---- 配置 Struts Capabilities

          當完成上面的步驟,項目的結構會如下圖 5 所示

          圖 5 ---- 配置后的項目結構視圖

          現在我們已經成功地創建完項目,然后可以開始構建 web 的內容了,現在轉入下一步。

          5. 開始一個 Struts 項目

          這一部分我們將要集中創建一個 Struts 應用示例,這個實力是在模仿一個簡單的網站登錄屏幕。所以,僅需要 2 個 Jsp 頁面,一個提示用戶登錄,另一個簡要的說明登錄成功。我們分別命名這 2 個 jsp 頁面為 userLogin.jsp 和 userL oginSuccess.jsp 。 如果用戶試圖登錄時存在授權錯誤,將直接指導用戶返回 LoginUser.jsp 并且顯示錯誤信息。

          一般來說,當開始一個 Struts 項目的時候,設計好應用的流程是很有用的。這樣,開發團隊就會對項目中所有元素的組合有一個更好的認識。創建流程最容易的方法就是通過使用 Struts 圖形化設計模式。 Struts 編輯器提供了一個可以拖放工具,它可以使你通過快速的復制頁面流程來構造應用。這個應用示例 Login 的流程就如下圖 6 所示

          圖 6 ----- 應用程序的流程

          我們可以從上面的設計視圖中看到此應用開始于 userLogin.jsp 頁面的顯示。此登錄頁將要調用 userLogin 動作( action )來執行用戶的登錄操作。如果出現驗證錯誤或問題, userLogin action 將引導用戶返回 userLogin.jsp 頁面。然而,如果登錄成功,應用將轉向 userLoginSuccess.jsp 頁面。

          5.1 Struts 項目的組件

          一個典型的 Struts 項目會包括以下組件

          JSPs

          Actions

          ActionForwards*

          ActionForms**

          Struts 部署文件 : struts-config.xml

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

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

          圖 7

          對話框將直接引導你并且提示你所有被 Struts 組件支持的值。一些部件要比其他的復雜。例如:如下圖 8 所示的對話框,你可以看到 Struts Action 支持的所有特征已經被賦予了容易理解的值

          圖 8----- 對話框:創建新的 Struts Action

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

          圖 9----Outline 視圖

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

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

          然后轉到如下圖 11 所示的編輯模式界面:

          圖 11 ----- Struts 圖形化設計模式視圖

          現在我們已經知道怎么創建 Struts 部件的不同組件了,我們可以創建 Login 應用的不同部分了。下面接著來

          5.2 搭建應用程序

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

          首先,創建 userLoginSuccess.jsp 。看起來像是首先創建最后的頁面,這樣做的目的是我們可以利用 New Form, Action and JSP 來創建 userLogin.jsp, 這個頁面關聯 Action 和 ActionForm 。

          下圖 12 就是開始在 Struts 設計模式下創建 userLogin.jsp

          圖 12---- 創建 jsp 頁面

          在點擊后,系統將提示圖下圖 13 所示的對話框

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

          圖 13---- 配置 userLoginSuccess.jsp

          在單擊 Finish 之后,設計試圖上顯示最新創建的頁面。如下圖 14

          圖 14

          要完成這個 jsp 頁面就只剩輸出那些告知用戶已經成功登錄的信息了!下面給出了 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>

          這個頁面很簡單。我們唯一要做的事情 <body> 標簽的內容:輸出變量 userName 的值,這個變量 userName 是存儲在此應用請求過程中。所以,在隨后要創建的 action 中,需要我們放置一個 userName 屬性在請求過程中。

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

          繼續構建這個應用,右擊 Struts designer 畫布的空白處。選擇 new ,接著選擇 New Form, Action and JSP 如下圖 15 所示:

          圖 15------- 啟動 New Form, Action, JSP

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

          圖 16

          下面我們將要添加 2 個表單屬性: userName 和 password 。當添加 password 域時,選擇 JSP input type 為 password 。如圖 17 所示:

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

          圖 18 -----Form 屬性

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

          圖 19

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

          圖 20

          單擊 Next 按鈕后,出現 New Action 對話框,你可以看到已經為你填寫了大多數的值。圖 21 就是這個對話框的截圖。如下:

          圖 21

          你可以單擊 Forwards 標簽來指定 ActionForwards 。如下圖 22

          圖 22

          在為這個 action 添加完 Forwards 后,單擊 Finish 按鈕。 MyEclipse 會創建資源并更新 struts-config.xml 文件。圖 23 展示了更改后的結構。

          圖 23

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

          圖 24

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

          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");
          }

          這里我們做了很簡單的事情,僅僅檢驗 userName 和 password 是不是都為 myeclipse 。如果是,存儲 userName 在請求過程中,并轉向: success ,因此 userLoginSucces.jsp 會顯示出個人化的信息。否則,出錯后將要轉向 failse 。在實際應用中,你應該添加 ActionMessages 或者 ActionErrors 集合一解釋發生了什么事情。

          6. 運行

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

          圖 25

          完成部署后檢測部署狀態來確保正確部署。你可以按照圖 26 做

          圖 26

          最后按照圖 27 來啟動 Tomcat 來使用應用服務器

          圖 27

          服務器啟動的時候, Eclipse 的 Console 視圖會顯示啟動狀態。如圖 28

          圖 28

          當 Tomcat5 運行起來,我們就可以通過 MyEclipse 的 Browser 視圖來測試示例應用了。選擇菜單 Window > Show View > Other... 截圖如下圖 29 所示

          圖 29

          在地址欄中輸入網址,如下圖所示

          圖 30

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

          圖 31

          登錄以后,我們被引導到成功登錄界面。如圖 32

          圖 32

          7. 總結

          在這個示例中,我們通過 MyEclipse Enterprise Workbench 提供的 Struts 工具開發了一個簡單的 Struts 應用。

          posted on 2006-04-16 11:17 伊峰 閱讀(171) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 浦城县| 聊城市| 建平县| 固原市| 本溪市| 侯马市| 曲沃县| 海口市| 兴隆县| 栾川县| 吉木乃县| 湘潭市| 桑日县| 长宁区| 大关县| 新巴尔虎右旗| 海盐县| 柳江县| 开江县| 江津市| 平乐县| 兖州市| 岐山县| 甘泉县| 万州区| 巧家县| 古田县| 徐水县| 绵阳市| 三明市| 股票| 咸阳市| 河南省| 彰化县| 炉霍县| 南昌县| 峨山| 厦门市| 康马县| 客服| 葫芦岛市|