中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      淺談利用開源框架Struts+Hibernate實現Web應用程序

      時間:2024-08-29 07:26:49 計算機網絡畢業論文 我要投稿
      • 相關推薦

      淺談利用開源框架Struts+Hibernate實現Web應用程序

        摘 要:本文主要介紹了利用目前的開源框架來開發一MVC結構Web程序的主要過程,對作為Struts與Hibernate核心的配置文件作了簡單介紹,最后提出了在開發類似項目時可能會遇到的一些問題和解決方案。

        關鍵詞:Web;開源框架;解決方案;Struts;Hibernate;MVC;計算機

        一、概述

        大多數Web應用在職責上至少可被分成四層,表示層、持久層、業務層和域模塊層,每一層相互獨立,在功能上與其他層互不混合,這樣為程序的后期維護及擴充提供了方便,而在Web應用的分層設計中,MVC模式成為一種十分流行的結構,Struts則是MVC模式的一種具體實現,他讓開發人員可以把主要精力集中在如何解決實際業務處理問題上,同時Struts框架也允許開發人員根據實際需求進行擴展和定制,從而更好地適應用戶的需要。在數據持久層上,Hibernate是目前最好的框架之一,Hibernate不僅管理Java類到數據庫表的映射,還提供數據查詢和獲取數據的方法,可以大幅減少開發時人工使用SQL和JDBC處理數據的時間。Struts架構與Hibernate相結合實現Web應用已成為Web Service十分流行的解決方案。下面我們將簡要介紹一下采用Struts+Hibernate實現Web應用的主要方法。

        二、數據庫設計及持久化

        大多數Web應用都要涉及到數據庫,數據庫的設計是系統設計首先要考慮的問題,數據庫設計得是否合理對系統的設計有著直接的影響,數據庫如果設計的不好,有可能會使整個系統在最后階段推倒重建。這里我們不打算詳細討論數據庫的設計細節,只要遵循一般的數據庫設計原則即可。包括找出所有實體,建立關系,畫ER圖,建立數據庫表等。持久化是通過Hibernate來實現的,Hibernate對數據庫的增加、刪除、更新、查找操作進行了封裝,使程序員可以使用面向對象的方式來設計程序,而不用為寫大量的SQL語句而苦惱。因此我們需要建立相應的配置文件來幫助程序完成數據持久化,其中包括一個Hibernate基本配置文件和若干個數據庫表與基本Java類對應的配置文件,以用戶登錄系統為例,二配置文件主要內容

        hibernate.cfg.xml:(使用Mysql數據庫)

        ?xml version=‘1.0‘ encoding=‘utf-8‘?

        !DOCTYPE hibernate-configuration

        PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"

        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"

        hibernate-configuration

        session-factory

        property name="hibernate.connection.driver_class"com.mysql.jdbc.Driver/property

        property name="hibernate.connection.url"jdbc:mysql:///user/property

        property name="hibernate.connection.username"root/property

        property name="hibernate.connection.password"/property

        property name="hibernate.connection.pool_size"100/property

        property name="dialect" org.hibernate.dialect.MySQLDialect/property

        !-- Mapping files --

        mapping resource="user.hbm.xml"/

        /session-factory

        /hibernate-configuration

        User.hbm.xml:

        ?xml version="1.0"?

        !DOCTYPE hibernate-mapping PUBLIC

        "-//Hibernate/Hibernate Mapping DTD 2.0//EN"

        "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"

        hibernate-mapping

        class

        name=" hibernate.User"

        table="user"

        id

        name="id"

        type="java.lang.String"

        column="id"

        generator class="assigned" /

        /id

        property

        name="name"

        type="java.lang.String"

        column="name"

        not-null="true"

        length="20"

        /

        property

        name="psw"

        type="java.lang.String"

        column="psw"

        not-null="true"

        length="20"

        /

        /class

        /hibernate-mapping

        三、視圖(View)組件的實現

        當用戶提交表單時(如當用戶登錄時)Struts會把請求參數封裝到動作表單(Form Bean)里,所以我們需要建立一個動作表單類,它繼承ActionForm類,這個表單類實際上是一個JavaBean,類中需要創建與HTML提交表單中字段對應的相同名稱的屬性,并創建每一個屬性的set和get方法,如登錄表單中有用戶名(name)和密碼(psw)兩個字段,則在表單類中應創建與之對應的屬性name和psw,同時創建對應的方法setName()、getName()、setPsw()、getPsw(),另外還可以有Validate方法對輸入字段進行驗證。

        其他的視圖頁面文件只需使用簡單的Jsp文件即可。

        四、控制器(Control)組件的實現

        控制器是Struts的核心,主要負責接受客戶端的HTTL請求,更新屬性以及生成Jsp頁面呈現在客戶端瀏覽器上,它位于試圖組件(V)與模型組件(M)之間,將二者有機地聯系起來,發揮協調作用。控制器組件的核心是一個Action類,它主要負責訪問業務邏輯層,類中的execute方法負責處理用戶的請求,所以我們主要的工作就是改寫execute方法,在其中添加相關的業務邏輯處理代碼。

        五、配置struts-config.xml與Web.xml文件

        在設計完數據層、視圖層和控制層后,還要對struts-config.xml與Web.xml文件進行配置,struts-config.xml文件是MVC各層聯系的紐帶,它主要定義了form表單的名稱及對應的具體類,配置了與表單對應的處理Action類及執行后轉發的頁面,配置了請求范圍和錯誤提示頁面等。只有一個登錄模塊的struts-config.xml文件可能會象下面這樣:

        ?xml version="1.0" encoding="ISO-8859-1" ?

        !DOCTYPE struts-config PUBLIC

        "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"

        "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd"

        struts-config

        form-beans

        form-bean type="form.LoginActionForm" name="loginActionForm"/

        /form-beans

        action-mappings

        !-- *************** login **************** --

        action path="/login"

        type="action.LoginAction"

        name="loginActionForm"

        scope="request"

        input="/login.jsp"

        forward name="success" path="/main.jsp"/

        /action

        ……

        /struts-config

        Web.xml是一個通用的配置文件,適用于所有Web應用,它主要配置了ActionServlet的聲明和初始化,系統啟動是創建Servlet的實例數目,系統初始化參數配置,默認顯示的頁面等。鑒于篇幅具體文件內容在此省略。

        六、中文問題

        由于瀏覽器與Java采用的字符編碼不同,所以在進行中文存儲與顯示時常出現亂碼,常用的解決方法是編寫一個過濾器組件,進行編碼的轉換,然后在Web.xml文件中對過濾器進行配置。

        七、其他問題

        由于數據源的多樣性,如:Oracle,MySQL,SQL Server等,一旦數據源發生變化,或將來由于某種原因而不再使用Hibernate,在數據層會有較大改動,為保證系統的靈活性,通常的做法是在數據層使用DAO模式,即在業務核心方法與具體數據源之間再增加一層,用這一層來連接業務邏輯與數據源,實現二者的解藕。

        八、結束語

        通過對一個通用的Web應用程序的設計,我們可了解使用Struts+Hibernate框架設計Web應用系統的一般過程,表面看來使用Struts+Hibernate框架比單獨使用Jsp+JavaBean方式還要復雜,但這樣做的好處也顯而易見,那就是設計的程序層次清晰,程序的可維護性與可擴充性大大加強,各層次間的耦合性非常小,將來一旦有需求變化,可以很容易更改。我想在程序設計的初期多做一些工作來換取程序良好的可維護性、可擴充性及可移植性是值得的。

        參考文獻:

        [1] 鄔繼成.Struts與Hibernate實用教程.電子工業出版社.2006.

        [2] 張桂元 賈燕楓. Struts開發入門與項目實踐.人民郵電出版社.2005.

        [3] 梁立新.項目實踐精解:基于Struts-Spring-Hibernate的Java應用開發.電子工業出版社.2006.

      【淺談利用開源框架Struts+Hibernate實現Web應用程序】相關文章:

      利用開源框架Struts+Hibernate實現Web應用程序08-06

      利用Web Services實現軟件自動升級08-04

      淺談基于web日志挖掘的網絡教學系統的設計與實現10-24

      利用PowerBuilder開發WEB應用08-21

      應用程序指示圖標的實現方法研究06-16

      VC++實現串口通信的應用程序設計10-25

      利用VB實現對IE的調用與控制08-26

      論利用ebXML和SOAP開發Web服務09-08

      WEB服務器多框架解決方案10-23

      淺談教育資源的開發與利用07-16

      主站蜘蛛池模板: 久久婷婷色综合五月天| 建阳市| 偷拍av一区二区三区| 欧美亚洲日韩国产人成在线播放| 丹巴县| 国产成人AⅤ| 欧美性受xxxx狂喷水| 91久久精品亚洲一区二区三区| 强d漂亮少妇高潮在线观看| 武威市| 人妻少妇人人丰满视频网站| 国产一区二区三区视频大全| 香港三级欧美国产精品 | 久久久午夜毛片免费| 扎兰屯市| 高唐县| 长葛市| 周口市| 黄梅县| 新化县| 禹城市| 长沙县| 精品国免费一区二区三区| 丰城市| 一区二区三区不卡免费av| 缙云县| av天堂线上| 久久国产精品免费一区六九堂| 忻州市| 国产精品亚洲综合色区丝瓜 | 鲁丝一区鲁丝二区鲁丝三区| av大片在线无码永久免费网址| 99久久精品久久久| 国产精品黄片一区二区三区视频| SHOW| 国产精品久久久一本精品| 成人综合亚洲国产成人| 国产青青草自拍视频在线播放| 99福利影院| 中文字幕成熟丰满的人妻| 亚洲日韩AV无码美腿丝袜|