麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

Struts應用實例:Helloapp應用

2019-11-17 06:28:10
字體:
來源:轉載
供稿:網友

  本章講解了一個簡單的Struts應用例子helloapp應用,這個例子可以幫助讀者迅速入門,獲得開發Struts應用的基本經驗。該應用的功能非常簡單,接受用戶輸入的姓名<name>,然后輸出"Hello <name>" 。開發helloapp應用涉及以下內容: 

    分析helloapp應用的需求 

    在開發應用時,首先從分析需求入手,列舉該應用的各種功能,以及限制條件。helloapp應用的需求非常簡單,包括如下需求:
    ?接受用戶輸入的姓名<name>,然后返回字符串"Hello <name> !" 
    ?假如用戶沒有輸入姓名就提交表單,將返回出錯信息,提示用戶首先輸入姓名。
    ?假如用戶輸入姓名為"Monster",將返回出錯信息,拒絕向"Monster"打招呼。
    為了演示模型組件的功能,本應用使用模型組件來保存用戶輸入的姓名。 

    運用Struts框架 

    下面把Struts框架運用到helloapp應用中。Struts框架可以方便迅速的把一個復雜的應用劃分成模型、視圖和控制器組件,而Struts的配置文件struts-config.xml則可以靈活的組裝這些組件,簡化開發過程。
    以下是helloapp應用的各個模塊的構成:
    ?模型包括一個javaBean組件PersonBean,它有一個userName屬性,代表用戶輸入的名字。它提供了get/set方法,分別用于讀取和設置userName屬性,它還提供一個save()方法,負責把userName屬性保存到持久化存儲系統中,如數據庫或文件系統。對于更為復雜的Web應用,JavaBean組件可以作為EJB或Web服務的前端組件。
    ?視圖包括一個jsp文件hello.jsp,它提供用戶界面,接受用戶輸入的姓名。視圖還包括一個ActionForm Bean,它用來存放表單數據,并進行表單驗證,假如用戶沒有輸入姓名就提交表單,將返回出錯信息。 
    ?控制器包括一個Action類HelloAction,它完成三項任務:1.進行業務邏輯驗證,假如用戶輸入的姓名為"Monster", 將返回錯誤消息;2.調用模型組件PersonBean的save()方法,保存用戶輸入的名字;3.決定將合適的視圖組件返回給用戶。 

    除了創建模型、視圖和控制器組件,還需要創建Struts的配置文件struts-config.xml,它可以把這些組件組裝起來,使它們協調工作。此外,還需要創建整個Web應用的配置文件web.xml。 

    創建JSP文件和ActionForm Bean 
    本例中,視圖包括兩個組件:
    ?一個JSP文件:hello.jsp
    ?一個ActionForm Bean: HelloForm Bean
    下面分別講述如何創建這兩個組件。 

    Struts框架的數據驗證功能 
    幾乎所有和用戶交互的應用都需要數據驗證,而從頭設計并開發完善的數據驗證機制往往很費時。幸運的是,Struts框架提供了現成的、易于使用的數據驗證功能。 

    創建控制器組件:HelloAction.java 
    控制器組件包括ActionServlet類和Action類。ActionServlet類是Struts框架自帶的,它是整個Struts框架的控制樞紐,通常不需要擴展。Struts框架提供了可供擴展的Action類,它用來處理特定的HTTP請求,例程2-4為HelloAction類的源程序。 

    創建模型組件:PersonBean.java 
    PersonBean是一個非常簡單的JavaBean,它包括一個userName屬性,以及相關的get/set方法。此外,它還有一個業務方法saveToPersistentStore()。 

    創建存放常量的Java文件
    HelloAction類和視圖組件之間通過HttpServletRequest的setAttribute()和getAttribute()方法來共享request范圍內的數據。下面再看一下HelloAction類調用HttpServletRequest的setAttribute()方法的細節。 

    創建Web應用和Struts框架的配置文件 
    對于Struts應用,它的配置文件web.xml應該對ActionServlet類進行配置,此外,還應該聲明Web應用所使用的Struts標簽庫,本例中聲明使用了三個標簽庫: Struts Bean、Struts Html和Struts Logic標簽庫。 

    發布和運行helloapp應用
    helloapp應用作為Java Web應用,它的目錄結構應該符合Sun公司制定的Java Web應用的規范,此外,由于helloapp應用使用了Struts框架,因此應該把Struts框架所需的JAR文件和標簽庫描述文件TLD文件包含進來。 

    小結 

    本章通過簡單完整的helloapp應用例子,演示了如何把Struts框架運用到Web應用的開發中。通過這個例子,讀者可以把握以下內容:
    ?分析應用需求,把應用分解為模型、視圖和控制器來實現這些需求。
    ?利用Struts的標簽庫來創建視圖組件。視圖組件中的文本內容保存在專門的消息資源文件中,在JSP文件中通過Struts的bean:message標簽來訪問它,這樣可以很方便的實現Struts應用的國際化,支持多國語言。
    ?Struts框架采用ActionForm Bean把視圖中的表單數據傳給控制器組件。ActionForm Bean被存放在request或session范圍內,它能夠被JSP組件、Struts標簽以及Action類共享。
    ?數據驗證分為兩種類型:HTML表單驗證和業務邏輯驗證。表單驗證由ActionForm Bean的validate()方法來實現。業務邏輯驗證由Action類或模型組件來實現。
    ?ActionMessage可以表示數據驗證錯誤,它被保存在ActionMessages(或其子類ActionErrors)集合對象中。ActionMessages對象被保存在request范圍內,Struts的視圖組件可以通過html:errors標簽來訪問它。
    ?Action類的execute()方法調用模型組件來完成業務邏輯,它還能決定把客戶請求轉發給哪個視圖組件。
    ?模型組件具有封裝業務實現細節的功能,開發者可以方便的把模型組件移植到遠程應用服務器上,這不會對MVC的其它模塊造成影響。
    ?通過調用HttpServletRequest或HttpSession的setAttribute()以及getAttribute()方法,可以保存或訪問在request或session范圍內的Java對象,從而實現視圖組件和控制器組件之間信息的交互與共享。
    ?利用struts-config.xml文件來配置Struts應用。(T111) 

上一篇:Struts入門經驗

下一篇:Struts開發技巧

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 韩国十九禁高潮床戏在线观看 | 538在线精品 | 欧美亚洲国产一区 | 久久久久久久久久久高潮一区二区 | 国产精品入口夜色视频大尺度 | 粉嫩蜜桃麻豆免费大片 | 久久精品日产高清版的功能介绍 | 一本色道久久综合亚洲精品图片 | 在线成人免费视频 | 欧美一级美片在线观看免费 | 激情久久免费视频 | 一本色道久久综合亚洲精品图片 | www.9191.com| 国产三级国产精品国产普男人 | 中国大陆高清aⅴ毛片 | 国产精品亚洲一区二区三区久久 | 日日爱影院| av在线播放免费观看 | 中日韩免费视频 | 欧美日韩在线看片 | 91在线视频导航 | 精品久久久一 | 午夜精品区 | 黄色免费入口 | 国色天香综合网 | 最近中文字幕一区二区 | 一级做受毛片免费大片 | 202z中文字幕第一页 | 亚洲91网| 91精品观看91久久久久久国产 | 天天草夜夜骑 | 久久精品伊人网 | 成人黄视频在线观看 | 在线高清中文字幕 | 国产精品中文在线 | 亚洲欧美国产精品va在线观看 | 一级网站| 国产永久免费观看 | 精品69人人人人 | 免费在线观看午夜视频 | 免费播放欧美毛片 |