1. <wbr id="cnjas"><legend id="cnjas"></legend></wbr>

          Linux培訓
          達內IT學院

          400-111-8989

          為您的Linux應用開發加油提速(四)

          • 發布:Linux培訓
          • 來源:網絡
          • 時間:2019-02-12 10:23

          實現 ActionForm 類

          現在需要實現 loginForm 類以處理來自 index.jsp 的輸入。這個 ActionForm 類將包含一個字段,以及用于輸入表單中每個域的取值方法(getter 和 setter),并且將提供簡單的域檢查。要幫助實現該類,您將使用 New ActionForm Class 向導。創建 ActionForm 類之后,然后您將把代碼添加到該類中的 validate 方法。

          在應用程序圖(Login.gph)中,雙擊 loginForm 節點。這將啟動 New ActionForm Class 向導。ActionForm 類名已經被設置為 LoginForm。單擊 Next。如果 Next 按鈕被任務欄遮蔽了,那么您可能必須最小化任務欄,或者將它拖到屏幕的另一邊。


          圖 30. 啟動 ActionForm 向導

          在“Choose new accessors for your ActionForm class”上,展開 MyBankWeb、Web Pages、index.jsp 和 /login。對于 Choose Accessors,請選擇 text:userid 和 password:password。單擊 Next。(注:如果您未看到 text:userid 和 password:password,您可能需要關閉 WebSphere Studio,然后重新啟動它。)


          圖 31. 選擇取值方法

          下一個頁面顯示了已選擇的新取值方法(New Accessors)。單擊 Next。

          下一個頁面為您的 ActionForm 類創建映射。請檢查 Configuration File Name 為 WEB-INF/struts-config.xml,而 Mapping Name 為 loginForm。單擊 Finish。


          圖 32. 配置文件名和映射名

          Java 編輯器現在將打開 LoginForm.java。請注意,該向導已為您創建了 ActionForm 類的大部分內容,包括兩個字段(userid 和 password)及其 setter 和 getter 方法。向下滾動文件至 ActionErrors validate 方法(接近源文件的底部),用以下代碼替代該方法。

          public ActionErrors validate(

          ActionMapping mapping,

          HttpServletRequest request) {

          ActionErrors errors = new ActionErrors();

          // Validate the fields in your form,

          // adding each error to this.errors as found

          if ((getUserid() == null) ||

          (getUserid().length() == 0))

          errors.add("userid",

          new ActionError("error.login.nouserid"));

          if ((getPassword() == null) ||

          (getPassword().length() == 0))

          errors.add("password",

          new ActionError("error.login.nopassword"));

          return errors;

          }

          保存并關閉 LoginForm.java。(如果剛才必須最小化任務欄或將其移到不礙事的地方,那么現在您可以恢復它。)

          現在,您可以檢查 Struts 配置文件,也可以不檢查。在 J2EE Navigator 視圖中,雙擊 Web Content/WEB-INF/ 目錄中的 struts-config.xml,以便用 Struts 配置文件編輯器(Struts Configuration File Editor)打開它。選擇 Form Beans 選項卡并選擇 Bean Name 中的 loginForm。檢查配置文件之后關閉它。


          圖 33. 檢查 Struts 配置文件

          關閉備忘單的 JSP 和 bean 列表。

          實現操作映射(Action Mapping)和操作類(Action Class)

          實現的最后一部分是實現登錄操作映射和 LoginAction 類。將用來自登錄表單的數據調用 LoginAction 類。該類可用于實現對業務邏輯的調用,就象包裝器類一樣。它還可用于確保調用業務邏輯的狀態和條件是正確的。在本練習中,通過檢查用戶標識和密碼,用它來驗證用戶的權限。

          要驗證用戶標識和密碼,通常將 LTPA 和權限 LDAP 目錄(例如 IBM Directory)或者其它一些權限管理支持(例如 IBM Policy Director)一起使用。在本示例中,將只根據固定的用戶標識和密碼(userid/password)檢查用戶標識和密碼。

          顯示備忘單。您應當正在查看 Create the actions 部分。單擊 Perform 按鈕以打開未實現操作的列表。

          就象在上面對 JSP 和 bean 所做的那樣,選擇未實現的操作并單擊 OK。這將打開 New Action Mapping 向導以創建我們的操作映射和操作類。如果您并未在使用備忘單,那么雙擊應用程序圖(Login.gph)中的 login 操作映射節點。這樣會啟動 New Action Mapping 向導。Configuration File Name 已經被設置為 WEB-INF/struts-config.xml,Mapping Path 被設置為 /login,Forwards 中,Name 被設置為您定義的名稱(success 和 failure)。從 Form Bean Name 下拉菜單選擇 loginForm。從 Form Bean Scope 下拉菜單選擇 request。單擊 Next。


          圖 34. New Action Mapping 向導

          在“Create an Action class for your mapping”上,Action Class Name 已經被設置為 LoginAction。單擊 Finish。我們不再需要備忘單的操作列表了,所以在它上面單擊 Close。

          Java 編輯器將打開 LoginAction 類文件。向下滾動到 perform 方法,并利用下列代碼替換它。

          public ActionForward perform(

          ActionMapping mapping,

          ActionForm form,

          HttpServletRequest request,

          HttpServletResponse response)

          throws IOException, ServletException {

          ActionErrors errors = new ActionErrors();

          ActionForward forward = new ActionForward();

          // return value

          LoginForm loginForm = (LoginForm) form;

          try {

          // do something here

          if (!loginForm.getUserid().equals("userid")

          || !loginForm.getPassword().equals("password"))

          errors.add("login", new ActionError("error.login.failed"));

          } catch (Exception e) {

          // Report the error using the appropriate name and ID.

          errors.add("login", new ActionError("error.login.exception"));

          }

          // If a message is required, save the specified key(s)

          // into the request for use by the <struts:errors> tag.

          if (!errors.empty()) {

          saveErrors(request, errors);

          // Forward control to the failure URI

          forward = mapping.findForward("failure");

          } else {

          // Forward control to the success URI

          forward = mapping.findForward("success");

          }

          // Finish with

          return (forward);

          }

          保存并關閉 LoginAction.java。既然已實現了所有組件,那么 Login.gph 上的組件現在都是有顏色的了。


          圖 35. 應用程序圖中的所有組件都已實現

          既然已實現了 LoginAction 類,您可以檢查 Struts 配置文件以查看圖表編輯器(Diagram Editor)和向導做了哪些更改。

          在 J2EE Navigator 視圖中,雙擊 Web Content/WEB-INF/ 目錄中的 struts-config.xml 以在 Struts 配置文件編輯器(Struts Configuration File Editor)中打開它。

          選擇 Actions 選項卡。然后在 Action Path 中選擇 /login。如果尚未設置好,那么在 Input 域中輸入 /index.jsp。Specify Forwards 的域應當由圖 34 中 Forwards 域的 Name 中為 JSP 頁面指定的名稱填充,這些名稱分別與對應的 JSP 頁面相關(success 與 /home.jsp 相關,而 failure 與 /error.jsp 相關)。


          圖 36. 設置操作輸入

          現在,通過選擇 XML Source 選項卡來檢查 struts-config.xml 文件的 XML 源代碼。

          保存和關閉 struts-config.xml 文件。

          測試 Struts 應用程序

          既然已經完成了 Struts 應用程序,那么可以利用內置的 WebSphere V5.0 測試環境(Test Environment)測試它。

          再次顯示備忘單。您應該正好看到 Run the Web Application 部分。單擊執行按鈕(黑色箭頭)。如果您沒有使用備忘單,那么可以在 J2EE Navigator 窗格中選擇 index.jsp。然后用鼠標右鍵單擊 index.jsp,并選擇 Run on Server ...。

          在 Server selection 對話框中,選擇 WebSphere V5.0 Test Environment 并單擊 OK。


          圖 37. 設置操作輸入

          該項目將被發布到測試環境服務器上。將啟動服務器(Server),并且打開控制臺(Console)視圖。當服務器準備就緒時,控制臺將顯示一條以“Server server1 open for e-business”結尾的消息,該消息后面跟著另一條以 /index.jsp: init 結尾的消息。


          圖 38. 服務器測試環境啟動

          注:現在如果您關閉已完成的備忘單,那么查看控制臺將更容易。

          然后 index.jsp 將在 Web 瀏覽器中打開。輸入用戶標識 userid 和密碼 password。單擊 Login。


          圖 39. 登錄

          稍候片刻,應用程序將顯示 .jsp 頁面:


          圖 40. MyBank 主頁

          單擊瀏覽器的 Back 按鈕,并嘗試輸入不同的用戶標識或密碼,以查看出錯頁面。單擊 Login。


          圖 41. 出錯頁面

          然后將在 Web 瀏覽器中打開 index.jsp。輸入用戶標識 userid 和密碼 password。單擊 Login。


          圖 42. 未輸入用戶標識或密碼

          結束語

          恭喜您!您剛才已經創建了一個基于 Struts 的 Web 應用程序。您使用 WebSphere Studio 構建了 JavaServer Pages、ActionForm、操作類和操作映射。您使用 Struts 應用程序圖表編輯器(Struts Application Diagram Editor)設計和創建了您的應用程序。然后您利用 WebSphere Studio V5.0 測試環境(它包含在 WebSphere Studio 中)測試了您的應用程序。如果您有任何問題,請訪問我們的技術支持論壇。

          致謝

          非常感謝 Ian Shields 為 Struts 備忘單補充了材料,并增加了有關 WebSphere Studio IDE 的使用技巧,他還通過大量的測試進行了其它許多修改。

          關于作者

          Clifford Spinac 是 IBM Developer Relations 組織(位于美國得克薩斯州奧斯汀市)中的一位高級電子商務架構設計師。在 IBM 的 23 年職業生涯中,他擔當了各種軟件開發、設計和規劃職位,并且擁有 50 多項專利申請。在過去的三年中,他與軟件開發人員和 Web 集成人員一起從事有關 IBM WebSphere Application Server、WebSphere Commerce Suite 和 Linux 中間件的技術咨詢工作。可以通過 spinac-at-us.ibm.com 與 Cliff 聯系。

          預約申請免費試聽課

          填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

          上一篇:為您的Linux應用開發加油提速(三)
          下一篇:細說Linux上的特殊權限位

          拯救者Linux:我是如何給我的團隊引入Linux的

          Linux只有十三個字符的經典Fork炸彈

          騰訊十年運維老兵:運維團隊的五個“殺手锏”

          為您的Linux應用開發加油提速(二)

          • 掃碼領取資料

            回復關鍵字:視頻資料

            免費領取 達內課程視頻學習資料

          • 視頻學習QQ群

            添加QQ群:1143617948

            免費領取達內課程視頻學習資料

          Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

          選擇城市和中心
          黑龍江省

          吉林省

          河北省

          湖南省

          貴州省

          云南省

          廣西省

          海南省

          欧美做爰视频免费播放_做暖全过程免费的视频_性爱免费视频 百度 好搜 搜狗
          <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>