hays

          海納百川
          posts - 25, comments - 48, trackbacks - 0, articles - 0
            BlogJava :: 首頁 ::  :: 聯系 :: 聚合  :: 管理

          eclipse中配置 structs(轉帖)

          Posted on 2006-11-17 18:20 hays(海納百川) 閱讀(4171) 評論(0)  編輯  收藏 所屬分類: 配置

          作者:baggio785

          來源:http://blog.csdn.net/baggio785

          原文地址:http://blog.csdn.net/baggio785/archive/2006/03/10/620535.aspx(轉載請注明出處)

          日期:2006-3-9

          關鍵詞:Eclipse,MyEclipse,Struts,Java

          前言

          本文根據實例詳細介紹了如果在Eclipse中配置并開發Struts。此前在網上也看到過不少此類文章,而且還是有不少網友問此類問題。所以想根據自己的實際經驗,并結合例子寫一篇詳細的文章,一個是方便大家,再一個也是檢驗一下自己的知識。

          本文是偶的一些拙見,有不正確的地方請大家多多評論指正。

           

          開發環境

          JDK1_4_03,點擊下載
          tomcat5.0.28,點擊下載
          Eclipse3.1.2,點擊下載下載中文包,中文包是3.1.1,但是也適用3.1.2
          MyEcilpse4.1,點擊下載MyEcilpse4.1及破解補丁
          TomcatPlugin插件,點擊下載TomcatPlugin插件
          更多Eclipse插件下載,點擊進入

           

          需求

          本文所要結合的Struts應用實例為用戶登錄(logon),用戶登錄(logon)的需求為:

          1??接收用戶名和密碼,跳轉到成功頁面,并提示“<username>歡迎您登錄!”。
          2??如果用戶名為空就提交表單,則提示“請輸入用戶名!”。
          3??如果密碼為空就提交表單,則提示“請輸入密碼!”。
          4??如果輸入非法用戶名,則提示“請輸入正確的用戶名!”。
          5??通過模型組件,保存登錄信息。

          登錄應用實例的框架介紹

          用戶登錄(logon)應用由以下模塊組成:
          1??模型(M):模型為一個JAVABEAN組件-SaveLogon,包含username(用戶名)和userpassword(密碼)兩個屬性,提供讀取和設置屬性的方法get/set,以及保存登錄信息的方法saveToDb()。saveToDb的任務是把登錄信息保存到持久化存儲系統(例如數據庫)。
          2??視圖(V):視圖包括兩個JSP文件,以及一個ActionForm Bean-logonForm。JSP文件分別為:logon.jsp、success.jsp。logon.jsp負責接受用戶輸入的用戶名和密碼以及顯示出錯信息,success.jsp負責顯示登錄成功信息。
          3??控制器(C):控制器為Action類logonAction。對數據進行業務邏輯驗證、調用模型組件保存登錄信息、選擇視圖組件返回給用戶。

           

          Struts的工作機制

          用戶在視圖組件(logon.jsp)中輸入用戶名和密碼并提交HTML表單,Struts框架會先讀取WEB.XML中關于servlet的配置,然后自動將表單數據封裝到ActionForm Bean中,在本例中是logonForm。logonForm會對提交的數據進行數據合法性驗證(例如最短長度、是否包含非法字符等)。如果ActionForm Bean驗證未通過,則logonForm返回ActionErrors對象,Struts框架會把ActionErrors對象保存在request范圍內,并把請求轉發到視圖組件,并在視圖組件中通過<html:errors/>標簽,展示request范圍內的ActionErrors對象所包含的錯誤信息;如果通過ActionForm Bean驗證,則logonForm返回的ActionErrors對象為NULL,Struts框架將表單數據提交到控制器組件logonAction,控制器對表單數據進行業務邏輯驗證,如果logonAction驗證未通過,則創建包含錯誤信息的ActionMessages對象,并通過saveErrors方法把ActionMessages對象保存到request范圍內,并把請求轉發到視圖組件,并在視圖組件中通過<html:errors/>標簽,展示request范圍內的ActionErrors對象所包含的錯誤信息;如果logonAction驗證通過,則Struts框架訪問模型組件,然后Struts框架會返回ActionFoward對象,并根據Struts-config.xml文件的配置情況,決定將ActionFoward對象包含的轉發信息傳遞到那一個視圖組件。

           

          部署Struts框架

          Struts的工作機制大家都有了一定的了解了,現在介紹如何在Eclipse中部署Struts框架。

          本文的環境前文已經提到,Eclipse以及其插件MyEclipse和TomcatPlugin的安裝本文不介紹,請參考其他文章。關于Eclipse的相關文章請看: http://blog.csdn.net/baggio785/category/148174.aspx

          1??? 新建一個項目

          1)? 選擇Java >> Tomcat Project,下一步,如圖一


          (圖一)

          2)填寫項目名稱,如果不采用項目所在目錄的缺省值,請修改,點擊完成。如圖二


          (圖二)

          2??? 創建Struts框架

          1)??? 右鍵選擇項目 >> 新建 >> 其他 >> MyEclipse >> Web-Struts >> Struts 1.2 >> Struts 1.2 Form,Action & JSP。如圖三。如果這一步出現錯誤,本文不做描述,請參考我的另一邊文章-MyEclipse中創建Struts出現錯誤的解決辦法


          (圖三)

          2)??? 配置Struts ActionForm??

          因為本文的Struts應用實例為用戶登錄,所以Use case選用logon。Superclass選擇如圖所示,其他默認。如圖四


          (圖四)

          接下來填寫Optional Details,輸入Form表單項,本例為用戶名(username)和密碼(userpassword)。點擊Add,輸入請參考圖五、圖六。


          (圖五)


          (圖六)

          輸后完畢,Optional Details的Form Properties中會顯示。如圖七


          (圖七)

          Methods選項卡的設置我們采用默認設置,不去修改。

          點擊JSP選項卡,將“Create JSP form”選項的勾選中,采用默認設置“/form/logon.jsp”。如圖八


          (圖八)

          3)??? 配置Struts Action

          以上步驟完成了對Form的配置,下面配置Action。

          在圖八中點擊下一步,采用默認即可。如圖九


          (圖九)

          Parameter和Methods選項也采用默認。

          點擊Forwards選項卡,點擊Add,配置成功頁面信息。本文選取根目錄的success.jsp作為成功頁面,Name為logon_sc。如圖十


          (圖十)

          輸后完畢,Optional Details的Forwards中會顯示。如圖十一


          (圖十一)

          點擊完成。

          Struts已經配置完畢。看看Eclipse中,項目中多了一些東東,例如struts相關的jar,以及struts-config.xml和tld文件。struts-config.xml的代碼如下:

          代碼清單一(struts-config.xml)

          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "

          <struts-config>

          <data-sources />

          <form-beans >

          <!--這里是ActionForm的配置信息,ActionForm Bean的name為logonForm,對應的類為com.mystruts.struts.form.LogonForm-->

          <form-bean name="logonForm" type="com.mystruts.struts.form.LogonForm" />

          </form-beans>

          <global-exceptions />

          <global-forwards />

          <action-mappings >

          <!--這里是Action組件的配置信息,描述了從特定的請求路徑到響應的Action的映射-->

          <!--attribute設置Action關聯的ActionForm在request或者session范圍內的key.就是在request或者session共享內的名稱-->

          <!--input指定包含表單的URL,當表單驗證失敗的時候發送的URL-->

          <!--name指定和該Action關聯的Form名字.該名字必須是在form-bean中定義過的,可寫可不寫-->

          <!--path指定請求訪問Action的路徑,必須以/開頭-->

          <!--scope指定Form的存在范圍,例如request-->

          <!--type指定Action組件對應的類-->

          <action

          attribute="logonForm"

          input="/form/logon.jsp"

          name="logonForm"

          path="/logon"

          scope="request"

          type="com.mystruts.struts.action.LogonAction">

          <!--這里是forward,即局部轉發配置信息,登錄成功后轉向/success.jsp,name為logon_sc-->

          <forward

          name="logon_sc"

          path="/success.jsp"

          />

          </action>

          </action-mappings>

          <!--這里是消息資源文件的配置信息,用來配置Resource Bundle.用于存放本地文本消息文件。parameter指定文件名,不包含后綴名。-->

          <message-resources parameter="com.mystruts.struts.ApplicationResources" />

          </struts-config>


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


          網站導航:
           
          主站蜘蛛池模板: 海安县| 建阳市| 双辽市| 桐柏县| 都兰县| 连平县| 敦化市| 德安县| 合江县| 耿马| 海盐县| 南昌市| 鞍山市| 高阳县| 攀枝花市| 赫章县| 铅山县| 静宁县| 芦溪县| 临江市| 澄江县| 阿荣旗| 乡城县| 城步| 交城县| 万安县| 陆丰市| 邯郸市| 满城县| 平湖市| 合肥市| 得荣县| 合江县| 南丹县| 师宗县| 白水县| 天门市| 库尔勒市| 大英县| 霍邱县| 手机|