<menuitem id="r3jhr"></menuitem><noscript id="r3jhr"><progress id="r3jhr"><code id="r3jhr"></code></progress></noscript>

      專業論文:基于Struts+Spring的Web應用設計與實現

      時間:2021-04-01 18:13:23 論文 我要投稿

      專業論文:基于Struts+Spring的Web應用設計與實現

        摘 要 集成Struts、Spring框架技術構建基于J2EE的Web應用可以提高J2EE項目的可重用性。本文介紹了兩種流行的開源框架技術Struts和Spring的原理,并將這兩種框架技術整合起來應用到實際的Web項目開發中去,從而提高項目代碼的復用性及項目開發的效率。

      專業論文:基于Struts+Spring的Web應用設計與實現

        關鍵詞 J2EE;Struts;Spring

        1 引言

        基于J2EE的Web應用系統以其層次性、平臺無關性逐漸被大多數的公司所認同,已經成為電子商務主要的解決方案。傳統的JSP/Servlet開發模式優勢在于直接、簡單,對于小型應用可以很方便、快速地進行開發。但是這種不加控制的開發模式往往帶來顯示、業務和數據的高耦合性,軟件難以重用。基于J2EE的框架技術是解決上述問題的重要技術,能夠有效地支持大型J2EE Web應用項目的開發。本文通過集成Struts和Spring基于J2EE的框架技術提出了一種構建J2EE應用的框架。

        2 Struts框架技術

        The Jakarta Struts項目是由Apache發起的開源項目,是基于MVC分離思想的杰出產品。Struts的Controller是通過Actionservlet對象實現的,這個控制器獲得View (JSP)的請求后根據ActionMapping對象調度對應的Model(Action對象)處理業務邏輯,并將獲得的處理結果(ActionForward對象)返回給View(JSP)來響應。同時通過ActionForm對象封裝數據在Model和View之間交互使用。Struts還通過自定義的標簽庫豐富了View層的JSP技術,方便了頁面設計。

        下面我們就分別從視圖、控制、模型和Struts的配置文件struts-config.xml來介紹Struts的體系結構。

        (1)視圖。是一組JSP文件,Struts自身包含了一組可擴展的自定義標簽庫,可以簡化創建用戶界面的過程。這些JSP文件中沒有業務邏輯,也沒有信息模型。

        (2)模型。模型主要是表示一個系統的狀態和業務邏輯。在Struts中,系統的狀態主要由ActiomForm Bean體現,對于業務邏輯通常由JavaBean或EJB組件來實現。

        (3)控制器。控制器主要由ActionServlet類和Action類來實現,ActionServlet類是Struts框架中的核心組件,主要負責接收HTTP請求信息。根據配置文件struts-config.xml的配置信息,把請求轉發合適的Action對象。Action類負責調用模型的方法,更新模型的狀態,并幫助控制應用程序的流程。

        (4)配置文件Struts-config.xml。當ActionServlet接收HTTP請求信息時,如何決定把用戶請求轉發給哪個Action對象呢?這就需要一些描述用戶請求路徑和Action映射關系的`配置信息。在Struts中,這些配置映射信息都存儲在特定的XML文件Struts-config.xml中,在該配置文件中,每一個Action的映射信息都通過一個(action)元素來配置。這些配置信息在系統啟動時會被讀入內存,供Struts在運行期間使用,在內存中,每一個(action)元素都對應一個ActionMapping類的實例。

        3 Spring框架技術

        Spring的哲學是在不影響Java對象設計的情況下將Java對象加入到框架中。Spring解決了許多J2EE開發中的常見問題,它不依賴于任何的組件,是一種輕量級的容器,其核心是Bean工廠,用以構造我們所需要的M(Model)。

        Spring框架是一個分層的應用程序開發框架,而不是某一層,如Struts或Hibernate都屬于單獨某一層的框架。Spring致力于在整個應用程序層面架構程序,使程序的各個層面協調一致,從而發揮最大的效能。Spring能整合現有的優秀單層框架,把它們組成連貫統一的框架。Spring框架的模塊化完成的非常好。大體上,存在如圖1所示的幾個模塊。

        其中:

        Spring核心模塊:Spring架構中最為基礎、重要的模塊。它提供了IoC容器,即依賴注入。其中,BeanFactory是最為重要的概念,對理解IoC和ApplicationContext起到了重要作用。

        Spring AOP模塊:實現了AOP聯盟中定義的AOP編程實現。如提供實現事務管理。用它來提供非管理環境下申明方式的事務、安全等服務。

        Spring Context模塊:直接位于Spring的核心模塊之上。Spring上下文模塊除了繼承Spring核心模塊的功能外還添加了用于資源綁定、事件移植、資源裝載以及裝載上下文等功能。這對于Web應用和J2EE應用十分有效。

        Spring Web模塊:提供面向Web應用集成的功能。其中ContextLoaderServlet和ContextLoaderListener正是Web模塊提供的。當同Tapestry、JSF集成時需要使用到Spring Web模塊。

        Spring DAO模塊:提供了JDBC抽象層,使得開發者不用再去編寫同RDBMS交互、非業務功能的JDBC代碼。而且DAO模塊還能夠分析RDBMS廠商專有的SQL錯誤代碼。同時能夠提供編程方式和聲明方式控制事務。

        Spring ORM模塊:為當前流行的O/R Mapping技術提供集成。借助于Spring框架提供的簡單事務聲明,開發者能夠很容易實現對O/R Mapping中操作的事務控制。

        Spring Web MVC模塊:提供MVC實現,清晰的劃分了Web應用中涉及到的各項內容。

        4 基于Struts+Spring框架技術的實現

        在項目開發實踐中提出了基于Struts+Spring框架的J2EE架構。將這兩種框架整合起來用到Web項目開發的不同層。整個架構的結構流程圖所示。

        (1)客戶端發送一個查詢請求,在JSP里提交表單時指定處理表單的path。

        <form name="spQuery" method="post"

        action="{root/create/path} /SPInfoManageAction.do"

        target="bottom" >

        (2)在struts-config.xml文件里根據path配置Action的具體名和路徑。

        <action path="/SPInfoManageAction" type="com.mycom.spmanage.spi nfomanage.action.SPInfoManageAction"

        unknown="false"

        validate="true" >

        <forward name="init"

        path="/../views/spmanage/spinfomanage/SPInfoQuery.jsp"

        redirect="false"

        contextRelative="false" />

        <forward name="SPBriefInfo"

        path="/../views/spmanage/spinfomanage/SPBriefInfo.jsp"

        redirect="false"

        contextRelative="false" />

        (3)在Action類里根據JSP頁傳遞回的操作類型operType參數來執行具體的方法,生成業務邏輯對象BO的實例,并調用BO的getSpInfoQueryBrief,返回一個結果集。

        Private ActionForward spInfoQueryBrief (ActionMapping mapping, HttpServletRequest request,

        HttpServletResponse response) throws ActionException{

        //生成BO類的實例

        SPInfoManageBO service =(SPInfoManageBO)getBaseService().getServiceFacade("spInfoManageBO");

        //用getParameter方法獲取查詢條件

        String spShortName = request.getParameter("spShortName");

        ......

        //指向業務邏輯對象BO類里的方法,返回結果集

        try { coll = service.getSpInfoQueryBrief(mapData);

        } catch (Exception e) {......}

        ......

        //返回參數

        request.setAttribute("spShortName",spShortName);

        ......

        //指向下一步跳轉路徑

        return mapping.findForward("SPBriefInfo");

        (4)在applicationContext.xml里配置BO的路徑以及所調用的數據庫對象DAO

        (5)在dataAccessContext.xml文件里配置數據庫對象DAO具體路徑:

        從而連接到數據庫對數據進行增刪改查操作。并一步步返回數據到表現層,用JSP+XSL展示,從而完成一個流程的操作。

        5 結束語

        Struts+Spring框架是目前眾多軟件企業主流的應用技術,也是J2EE未來發展的趨勢。Struts作為前臺控制框架簡化了程序的開發。使得頁面展示代碼和JAVA代碼編寫工作有效分工,使項目的可擴展性大大增強,提高了開發效率,降低了維護成本。Spring作為一個應用于所有層面的綜合框架,具有強大的應用功能及靈活性,適合作為一些大規模軟件項目的底層平臺。基于Struts+Spring的Web應用實現了表示層、邏輯層和數據庫訪問層等多層面分離,使軟件在擴展性、復用性和維護性方面上有了很大提高。具有很好的發展前景。

        參考文獻

        [1]飛思科技產品研發中心. 精通Spring[J ] . 電子工業出版社,2005.4

        [2]飛思科技產品研發中心. Java Web 服務應用開發詳解[J ] . 電子工業出版社,2002

        [3]孫衛琴.精通Struts 基于MVC的Java Web 設計與開發.電子工業出版社, 2005.01

        [4]童春杰. 基于J2EE的分布式體系及應用.計算機應用研究2002.01

        [5]Spring網站:http://springframework.org

      《&.doc》
      将本文的Word文档下载到电脑,方便收藏和打印
      推荐度:
      点击下载文档

      【專業論文:基于Struts+Spring的Web應用設計與實現】相關文章:

      基于DSP整流器設計論文04-18

      基于系統設計的科研管理論文03-21

      低壓備自投系統設計與應用12-10

      數學與應用數學專業求職信04-18

      數學與應用數學專業最好的大學有哪些10-12

      工業設計專業畢業設計(論文)范文08-12

      獅子和鹿基于標準的教學設計01-17

      淺析演示型多媒體課件的應用與設計原則總結05-15

      FPGA數據采集與回放系統設計論文04-24

      比應用教學設計04-04

      在线咨询
      久久亚洲中文字幕精品一区四_久久亚洲精品无码av大香_天天爽夜夜爽性能视频_国产精品福利自产拍在线观看
      <menuitem id="r3jhr"></menuitem><noscript id="r3jhr"><progress id="r3jhr"><code id="r3jhr"></code></progress></noscript>
        五月天桃色国产麻豆 | 亚洲精品视频福利 | 又黄又爽免费国产视频 | 日本亚洲精品色婷婷在线影院 | 在线观看每日更新AV | 在线中文字幕亚洲第一 |

        專業論文:基于Struts+Spring的Web應用設計與實現

          摘 要 集成Struts、Spring框架技術構建基于J2EE的Web應用可以提高J2EE項目的可重用性。本文介紹了兩種流行的開源框架技術Struts和Spring的原理,并將這兩種框架技術整合起來應用到實際的Web項目開發中去,從而提高項目代碼的復用性及項目開發的效率。

        專業論文:基于Struts+Spring的Web應用設計與實現

          關鍵詞 J2EE;Struts;Spring

          1 引言

          基于J2EE的Web應用系統以其層次性、平臺無關性逐漸被大多數的公司所認同,已經成為電子商務主要的解決方案。傳統的JSP/Servlet開發模式優勢在于直接、簡單,對于小型應用可以很方便、快速地進行開發。但是這種不加控制的開發模式往往帶來顯示、業務和數據的高耦合性,軟件難以重用。基于J2EE的框架技術是解決上述問題的重要技術,能夠有效地支持大型J2EE Web應用項目的開發。本文通過集成Struts和Spring基于J2EE的框架技術提出了一種構建J2EE應用的框架。

          2 Struts框架技術

          The Jakarta Struts項目是由Apache發起的開源項目,是基于MVC分離思想的杰出產品。Struts的Controller是通過Actionservlet對象實現的,這個控制器獲得View (JSP)的請求后根據ActionMapping對象調度對應的Model(Action對象)處理業務邏輯,并將獲得的處理結果(ActionForward對象)返回給View(JSP)來響應。同時通過ActionForm對象封裝數據在Model和View之間交互使用。Struts還通過自定義的標簽庫豐富了View層的JSP技術,方便了頁面設計。

          下面我們就分別從視圖、控制、模型和Struts的配置文件struts-config.xml來介紹Struts的體系結構。

          (1)視圖。是一組JSP文件,Struts自身包含了一組可擴展的自定義標簽庫,可以簡化創建用戶界面的過程。這些JSP文件中沒有業務邏輯,也沒有信息模型。

          (2)模型。模型主要是表示一個系統的狀態和業務邏輯。在Struts中,系統的狀態主要由ActiomForm Bean體現,對于業務邏輯通常由JavaBean或EJB組件來實現。

          (3)控制器。控制器主要由ActionServlet類和Action類來實現,ActionServlet類是Struts框架中的核心組件,主要負責接收HTTP請求信息。根據配置文件struts-config.xml的配置信息,把請求轉發合適的Action對象。Action類負責調用模型的方法,更新模型的狀態,并幫助控制應用程序的流程。

          (4)配置文件Struts-config.xml。當ActionServlet接收HTTP請求信息時,如何決定把用戶請求轉發給哪個Action對象呢?這就需要一些描述用戶請求路徑和Action映射關系的`配置信息。在Struts中,這些配置映射信息都存儲在特定的XML文件Struts-config.xml中,在該配置文件中,每一個Action的映射信息都通過一個(action)元素來配置。這些配置信息在系統啟動時會被讀入內存,供Struts在運行期間使用,在內存中,每一個(action)元素都對應一個ActionMapping類的實例。

          3 Spring框架技術

          Spring的哲學是在不影響Java對象設計的情況下將Java對象加入到框架中。Spring解決了許多J2EE開發中的常見問題,它不依賴于任何的組件,是一種輕量級的容器,其核心是Bean工廠,用以構造我們所需要的M(Model)。

          Spring框架是一個分層的應用程序開發框架,而不是某一層,如Struts或Hibernate都屬于單獨某一層的框架。Spring致力于在整個應用程序層面架構程序,使程序的各個層面協調一致,從而發揮最大的效能。Spring能整合現有的優秀單層框架,把它們組成連貫統一的框架。Spring框架的模塊化完成的非常好。大體上,存在如圖1所示的幾個模塊。

          其中:

          Spring核心模塊:Spring架構中最為基礎、重要的模塊。它提供了IoC容器,即依賴注入。其中,BeanFactory是最為重要的概念,對理解IoC和ApplicationContext起到了重要作用。

          Spring AOP模塊:實現了AOP聯盟中定義的AOP編程實現。如提供實現事務管理。用它來提供非管理環境下申明方式的事務、安全等服務。

          Spring Context模塊:直接位于Spring的核心模塊之上。Spring上下文模塊除了繼承Spring核心模塊的功能外還添加了用于資源綁定、事件移植、資源裝載以及裝載上下文等功能。這對于Web應用和J2EE應用十分有效。

          Spring Web模塊:提供面向Web應用集成的功能。其中ContextLoaderServlet和ContextLoaderListener正是Web模塊提供的。當同Tapestry、JSF集成時需要使用到Spring Web模塊。

          Spring DAO模塊:提供了JDBC抽象層,使得開發者不用再去編寫同RDBMS交互、非業務功能的JDBC代碼。而且DAO模塊還能夠分析RDBMS廠商專有的SQL錯誤代碼。同時能夠提供編程方式和聲明方式控制事務。

          Spring ORM模塊:為當前流行的O/R Mapping技術提供集成。借助于Spring框架提供的簡單事務聲明,開發者能夠很容易實現對O/R Mapping中操作的事務控制。

          Spring Web MVC模塊:提供MVC實現,清晰的劃分了Web應用中涉及到的各項內容。

          4 基于Struts+Spring框架技術的實現

          在項目開發實踐中提出了基于Struts+Spring框架的J2EE架構。將這兩種框架整合起來用到Web項目開發的不同層。整個架構的結構流程圖所示。

          (1)客戶端發送一個查詢請求,在JSP里提交表單時指定處理表單的path。

          <form name="spQuery" method="post"

          action="{root/create/path} /SPInfoManageAction.do"

          target="bottom" >

          (2)在struts-config.xml文件里根據path配置Action的具體名和路徑。

          <action path="/SPInfoManageAction" type="com.mycom.spmanage.spi nfomanage.action.SPInfoManageAction"

          unknown="false"

          validate="true" >

          <forward name="init"

          path="/../views/spmanage/spinfomanage/SPInfoQuery.jsp"

          redirect="false"

          contextRelative="false" />

          <forward name="SPBriefInfo"

          path="/../views/spmanage/spinfomanage/SPBriefInfo.jsp"

          redirect="false"

          contextRelative="false" />

          (3)在Action類里根據JSP頁傳遞回的操作類型operType參數來執行具體的方法,生成業務邏輯對象BO的實例,并調用BO的getSpInfoQueryBrief,返回一個結果集。

          Private ActionForward spInfoQueryBrief (ActionMapping mapping, HttpServletRequest request,

          HttpServletResponse response) throws ActionException{

          //生成BO類的實例

          SPInfoManageBO service =(SPInfoManageBO)getBaseService().getServiceFacade("spInfoManageBO");

          //用getParameter方法獲取查詢條件

          String spShortName = request.getParameter("spShortName");

          ......

          //指向業務邏輯對象BO類里的方法,返回結果集

          try { coll = service.getSpInfoQueryBrief(mapData);

          } catch (Exception e) {......}

          ......

          //返回參數

          request.setAttribute("spShortName",spShortName);

          ......

          //指向下一步跳轉路徑

          return mapping.findForward("SPBriefInfo");

          (4)在applicationContext.xml里配置BO的路徑以及所調用的數據庫對象DAO

          (5)在dataAccessContext.xml文件里配置數據庫對象DAO具體路徑:

          從而連接到數據庫對數據進行增刪改查操作。并一步步返回數據到表現層,用JSP+XSL展示,從而完成一個流程的操作。

          5 結束語

          Struts+Spring框架是目前眾多軟件企業主流的應用技術,也是J2EE未來發展的趨勢。Struts作為前臺控制框架簡化了程序的開發。使得頁面展示代碼和JAVA代碼編寫工作有效分工,使項目的可擴展性大大增強,提高了開發效率,降低了維護成本。Spring作為一個應用于所有層面的綜合框架,具有強大的應用功能及靈活性,適合作為一些大規模軟件項目的底層平臺。基于Struts+Spring的Web應用實現了表示層、邏輯層和數據庫訪問層等多層面分離,使軟件在擴展性、復用性和維護性方面上有了很大提高。具有很好的發展前景。

          參考文獻

          [1]飛思科技產品研發中心. 精通Spring[J ] . 電子工業出版社,2005.4

          [2]飛思科技產品研發中心. Java Web 服務應用開發詳解[J ] . 電子工業出版社,2002

          [3]孫衛琴.精通Struts 基于MVC的Java Web 設計與開發.電子工業出版社, 2005.01

          [4]童春杰. 基于J2EE的分布式體系及應用.計算機應用研究2002.01

          [5]Spring網站:http://springframework.org