隨筆-60  評論-117  文章-0  trackbacks-0
          成心給自己 放個假,在宿舍里呆了兩天,沒事和她們逛逛街,到處走走。這本是在學校里很平常的事。可是只兩天我卻呆夠了,覺得還是加加班心理比較舒服。

          mvc設計模式:
          mvc是一種設計模式,他強制性的把應用程序的輸入、處理和輸出分開。mvc把應用程序分成三個核心模塊:
          模型、視圖和控制器,它們分別承擔不同任務。
          視圖:
          視圖是用戶看到并與之交互的界面。視圖向用戶顯示相關(guān)的數(shù)據(jù),并能接收用戶的輸入數(shù)據(jù),但是它并不進行任何實際的業(yè)務處理。視圖可以向模型查詢業(yè)務狀態(tài),但不能改變模型。視圖還能接收模型發(fā)出的數(shù)據(jù)更新事件,從而對用戶界面進行同步更新。
          模型:
          模型是應用程序的主體部分。模型時表示業(yè)務數(shù)據(jù)和業(yè)務邏輯。一個模型能為多個視圖提供數(shù)據(jù)。
          控制器:
          控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。當web用戶單擊web頁面中的提交按鈕來發(fā)送html表單時,控制器接收請求并調(diào)用相應的模型組件去處理請求,然后調(diào)用相應的視圖來顯示模型返回的數(shù)據(jù)。
          struts概述:
          struts是一個基于sun j2ee平臺的mvc框架,主要是采用servlet和jsp技術(shù)來實現(xiàn)的。struts把servlet,jsp,自定義標簽和信息資源(message  resources)整合到一個統(tǒng)一的框架中,開發(fā)人員利用其進行開發(fā)時不用再自己編碼實現(xiàn)全套mvc模式,極大的節(jié)省了時間,所以說struts是一個非常不錯的應用框架。當前struts只是1.1版。
          學習struts框架主要部分:
          • struts 控制器
          • struts視圖
          • struts配置
          • 標簽庫
          • xml配置文件

          ActionServlet類:
          ActionServlet是mvc實現(xiàn)的command部分,它是這一框架的核心。ActionServlet(Command)創(chuàng)建并使用Action,ActionForm和ActionForward。使用struts-config.xml文件配置該Command。在創(chuàng)建web項目時,您將擴展Action和ActionForm來解決特定的問題。文件struts-config.xml定義了ActionServlet如何使用這些擴展的類。

          ActionServelet類的優(yōu)點:
          • 應用程序的整個邏輯流程都存儲在一個分層的文本文件中。這是的人們更容易察看和理解它,尤其是對于大型應用程序而言。
          • 網(wǎng)頁設計人員不必費力地閱讀java代碼來理解應用程序的流程。
          • java開發(fā)人員也不必在更改流程以后重新編譯代碼。

          ActionForm類:
          ActionForm維護web應用程序的會話狀態(tài)。ActionForm是一個抽象類,必須為每個輸入表但模型創(chuàng)建類的子類。可以說ActionForm表示的是由html表但攝制或更新的一般意義上的數(shù)據(jù)。
          ActonForm類調(diào)用:

          • 檢查ActionForm是否存在;如果不存在,它將創(chuàng)建該類的一個實例。
          • struts將使用httpServletRequest中相應的域設置ActionForm的狀態(tài)。沒有太多的request.getParameter()調(diào)用。
          • struts框架在將ActiomForm傳遞給業(yè)務包裝Action之前將更新他的狀態(tài)。
          • 在將它傳遞給Action類之前,struts還會對ActionForm調(diào)用validate()方法進行表單狀態(tài)驗證。

          Action類:
          Action類是業(yè)務邏輯的一個包裝。Action類的用途是將HttpServletRequest轉(zhuǎn)換為業(yè)務邏輯。要使用Action,創(chuàng)建它的子類并覆蓋execute()方法。

          ActionForm與Action的聯(lián)系:
          • struts-config.xml文件控制html表單請求與ActionForm只見的映射關(guān)系。
          • 可將多個請求映射到ActionForm。
          • ActionForm可跨多頁進行映射,以執(zhí)行諸如向?qū)е惖牟僮鳌?

          配置struts應用
          主要的配置文件:

          • web.xml文件以及它在web應用中的作用,struts的啟動配置。
          • struts-config.xml文件,使用struts框架開發(fā)配置。

          配置Servlet

          • <servlet>
          • <servlet-name>action</servlet-name>
          • <servlet-class>org.apache.struts.action.ActionServlet
          • </servlet-class>
          • <init-param>
          • <param-name>config</param-name>
          • <param-value>/WEB-INF/struts-config.xml</param-value>
          • </init-param>
          • <load-on-startup>1</load-on-startup>
          • <servlet>
          • <servlet-mapping>
          • <servlet-name>action</servlet-name>
          • <url-pattern>*.do</url-pattern>
          • </servlet-mapping>

          配置歡迎頁面:

          • <welcome-file-list>
          • <welcome-file>hello.jsp</welcome-file>
          • </welcome-file-list>

          配置標簽庫:

          • <taglib>
          • <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
          • <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
          • </taglib>

          配置錯誤處理頁面:

          • <error-page>
          • <exception-type>java.lang.ArithmeticException<exception-type>
          • <location>/error/ExceptionPage</location>
          • </error-page>

          配置數(shù)據(jù)源:

          • <data-sources>
          • <data-source key="dataSource">
          • <set-property property="driverClassName"value="driverClassName"/>
          • <set-property property="url" value="url"/>
          • <set-property property="password"value="password"/>
          • </data-source>
          • </data-sources>
          • <data-sources>
          • <!--configuration for commons BasicDataSource--">
          • <data-source type="org.apache.commons.dbcp.BasicDataSource">
            <set-property property="driverClassName" value="org.postgresql://localhost/mydatabase"/>
          • <set-property property="username"value="me"/>
          • <set-property property="password"value="test"/>
            <set-property property="maxActive"value="10"/>
            <set-property property="maxWait" value="5000"/>
          • <set-property property="defaultAutoCommit"value="false"/>
          • <set-property property="defaultReadOnly"value="false"/>
            <set-property property="validationQuery"value="SELECT COUNT(*)/FROM market"/>
          • </data-source>
          • </data-sources>

          使用數(shù)據(jù)源:

          • dataSource=getDataSource(request);
          • cnn=dataSource.getConnection();
          • dataSourceA=getDataSource(request,"A");
          • dataSourceB=getDataSource(request,"B");


          posted on 2007-05-03 11:30 靜兒 閱讀(702) 評論(5)  編輯  收藏

          評論:
          # re: struts 2007-05-03 12:51 | cresposhi
          struts啊struts,還有很多在MVC方面做的更好的framework推薦去看看  回復  更多評論
            
          # re: struts 2007-05-03 15:55 | 我們走在JAVA的光明大道上
          成心給自己 放個假,在宿舍里呆了兩天,沒事和她們逛逛街,到處走走。這本是在學校里很平常的事。可是只兩天我卻呆夠了,覺得還是加加班心理比較舒服。

          太有同感了,五一長假,實在是閑得每天睡到自然醒,醒后數(shù)錢數(shù)到手抽筋,抽完筋后再睡覺,又是睡到自然醒。。。。。唉!  回復  更多評論
            
          # re: struts[未登錄] 2007-05-03 21:55 | 菜鳥
          就是還沒搞明白在Eclipse里怎么自動創(chuàng)建一個ActionForm  回復  更多評論
            
          # re: struts 2007-05-04 10:05 | 靜兒
          @菜鳥
          自動創(chuàng)建ActionForm的話,你可以在工程上點擊右鍵,選擇new,出來一個選項表,你選struts1.1(好像現(xiàn)在用1。1版本的比較多)里的struts1.1Form,Action&JSP,然后一步步設定,就可以自動創(chuàng)建了。不妨試一下。  回復  更多評論
            
          # re: struts 2009-09-24 14:54 | 達飛Plus
          strutsは始めます。  回復  更多評論
            

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


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 东平县| 苗栗市| 海城市| 奉化市| 拉孜县| 黔西| 育儿| 房产| 南漳县| 马山县| 武胜县| 郁南县| 郧西县| 乌审旗| 沙湾县| 贡觉县| 东港市| 岑巩县| 海林市| 砚山县| 海宁市| 思南县| 巴彦淖尔市| 巨野县| 定边县| 开原市| 唐河县| 柯坪县| 呼玛县| 龙南县| 腾冲县| 汉阴县| 阿克苏市| 大连市| 巴彦淖尔市| 名山县| 拉萨市| 蕉岭县| 荔浦县| 宝丰县| 永泰县|