熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

讓Struts與Hibernate順利協同工作

2013-11-23 20:41:36  來源: Java開源技術 

  安裝篇
  一下載安裝 jsdk())或以上設置 CLASSPATHjava_home
  
  二下載服務器免費版本的有 tomcatresin當然也還有 weblogic之類的巨無霸不過得看你電腦的配置是否承受的了!
  
  這裡只以resin來說明其他的配置都差不多可以查看各個服務器自帶的說明文件
  
  resin 服務器可以在 下載選擇合適的版本下載解壓縮就可以直接使用
  
  這裡resin有一個 resinee版本這個主要是帶ejb功能支持的 如果用不到ejb一般的就足夠了
  
  三然後就是數據庫有很多數據庫產品可以選擇DBOracleMSSQLMySQL等等太多了這裡我選擇MySQL不僅因為它是免費的而且它的版本在繼承以前版本的快速穩定的基礎上整合了InnoDB()先進的事務處理機制相信伴隨著Linux的壯大它將在商業數據庫市場占的一席之地不過就數據庫本身它還缺少子查詢等強大功能的支持
  
  安裝就不多說了配置好用戶名密碼 然後就可以下載 MySQLFront 來可視化操作數據庫
  
  四在Java編程上一個IDE的功能顯然不可缺少現在流行的IDE很多有JBuilderEclipseIntellJ IDEAJCreator等等其中 eclipse借著開源東風依靠強大的插件功能被譽為最有前途的工具JBuilder從來都最強大功能的java工具不過大到我的電腦實在運行不了窮啊可沒錢配新電腦所以我還是喜歡JCreator小巧而又功能不俗應付小規模的應用綽綽有余編譯開發時要想獲得提示支持需要在 configureoptionJDK Profiles 導入jar文件
  
  五一個站點前台的界面開發當然離不開大名鼎鼎的 Dreamweaver 了它支持jspasp等很多語言的開發特別是最近的Dreamweaver MX 增強了站點的功能可以方便的對一個站點進行控制面對struts的前台自定義標簽有一個mxp插件可以用來支持顯示sturts的標簽使用前還要在編輯標簽庫 裡面導入tld文件目前只支持html和bean 兩個標簽
  
  配置篇
  一resin虛擬站點配置
  
  <host id=yourweb: appdir=e:\blog\ classupdateinterval=
  <webapp id=/
  <directoryservlet id=false/>
  </webapp>
  <errorlog id=log/weberrorlog/>
  <host>
  
  然後在定義的目錄下面建立站點
  
  二Dreamweaver站點的配置就不多說了
  
  三Struts的配置
  
  這裡我們使用的是struts下載並解壓縮到臨時文件夾就假設是tem文件夾吧
  
  首先拷貝tem/lib/下面所有的tld文件到站點的/WEBINF/目錄下再拷貝所有的jar文件到/WEBINF/lib/目錄下最後webxml文件中的配置差不多如下
  
  <?xml version= encoding=ISO?>
  <!DOCTYPE webapp
  PUBLIC //Sun Microsystems Inc//DTD Web Application //EN
  app__dtd
  
  <webapp>
  
  <servlet>
  <servletname>action</servletname>
  <servletclass>orgapachestrutsactionActionServlet</servletclass>
  <initparam>
  <paramname>config</paramname>
  <paramvalue>/WEBINF/strutsconfigxml</paramvalue>
  </initparam>
  <initparam>
  <paramname>debug</paramname>
  <paramvalue></paramvalue>
  </initparam>
  <initparam>
  <paramname>detail</paramname>
  <paramvalue></paramvalue>
  </initparam>
  <loadonstartup></loadonstartup>
  </servlet>
  
  <servletmapping>
  <servletname>action</servletname>
  <urlpattern>*do</urlpattern>
  </servletmapping>
  
  <! The Usual Welcome File List
  <welcomefilelist>
  <welcomefile>indexjsp</welcomefile>
  </welcomefilelist>
  
  
  <! Struts Tag Library Descriptors
  <taglib>
  <tagliburi>/tags/strutsbean</tagliburi>
  <tagliblocation>/WEBINF/strutsbeantld</tagliblocation>
  </taglib>
  
  <taglib>
  <tagliburi>/tags/strutshtml</tagliburi>
  <tagliblocation>/WEBINF/strutshtmltld</tagliblocation>
  </taglib>
  
  <taglib>
  <tagliburi>/tags/strutslogic</tagliburi>
  <tagliblocation>/WEBINF/strutslogictld</tagliblocation>
  </taglib>
  
  <taglib>
  <tagliburi>/tags/strutsnested</tagliburi>
  <tagliblocation>/WEBINF/strutsnestedtld</tagliblocation>
  </taglib>
  
  <taglib>
  <tagliburi>/tags/strutstiles</tagliburi>
  <tagliblocation>/WEBINF/strutstilestld</tagliblocation>
  </taglib>
  
  </webapp>
  
  四Hibernate配置
  
  下載並拷貝/lib目錄下的
  
  hibernatejar
  commonsbeanutilsjar
  commonscollectionsjar
  commonsdbcpjar
  commonslangjar
  commonsloggingjar
  commonspooljar
  domjjar
  cglibasmjar
  connectorjar
  
  到應用站點的/lib目錄下接下來配置 hibernatecfgxml文件
  
  <?xml version= encoding=utf?>
  <!DOCTYPE hibernateconfiguration
  PUBLIC //Hibernate/Hibernate Configuration DTD//EN
  configurationdtd
  <hibernateconfiguration>
  <sessionfactory>
  
  <property name=nnectionurl
  jdbc:mysql://localhost:/yourdatabase
  </property>
  <property name=nnectiondriver_class
  orggjtmmmysqlDriver
  </property>
  <property name=nnectionusername
  yourname
  </property>
  <property name=nnectionpassword
  youyrpassword
  </property>
  
  <!? 是否將運行期生成的SQL輸出到日志以供調試
  <property name=show_sql>false</property>
  
  <!dialect 每個數據庫都有其對應的Dialet以匹配其平台特性
  <propertyname=dialect>netsfhibernatedialectMySQLDialect</property>
  <!? 事務管理類型這裡我們使用JDBC Transaction
  <property name=transactionfactory_class
  netsfhibernatetransactionJDBCTransactionFactory</property>
  
  <property name=jdbcbatch_size</property>
  <property name=jdbcuse_scrollable_resultset>true</property>
  
  <!?映射文件配置注意配置文件名必須包含其相對於根的全路徑
  <mapping resource=net/seerlog/hbm/Cathbmxml/>
  
  </sessionfactory>
  
  </hibernateconfiguration>
  
  以上配置了數據庫連接所用的地址和用戶名密碼等具體參數的含義請參考官方文檔
  
  映射文件的內容可以手工來寫也可通過一些工具來自動生成
  
  整個需要兩種文件 hbmxml配置文件 和 java持久化對象 兩者是相互關聯的hbmxml 對數據庫的映射還需要 java這個bean來操作所以整個過程需要首先設計好數據庫然後根據數據庫導出 hbmxml文件 然後再導出 java 文件 有很多工具可以實現這個工程我們這裡采用 MiddlegenHibernate來實現 數據庫到hbmxml文件的轉化用HibernateExtension工具包中的 hbmjava 來實現 hbmxml 到 java 文件的轉化!
  
  查找關鍵字!ENTITY得到
  
  <!DOCTYPE project [
  <!ENTITY database SYSTEM
  file:/config/database/hsqldbxml
  ]>
  
  b) Application name
  
  <property name=name value=airline/>
  
  c) 輸出目錄
  
  查找關鍵字name=buildgensrcdir得到
  
  <property name=buildgensrcdir value=${builddir}/gensrc/>
  
  d) 對應代碼的Package name
  
  <hibernate
  destination=${buildgensrcdir}
  package=${name}hibernate
  genXDocletTags=false
  genIntergratedCompositeKeys=false
  javaTypeMapper=middlegenpluginshibernateHibernateJavaTypeMapper
  />
  
  配置完成後在MiddleGen 根目錄下運行ant就將出現MiddleGen的界面
  
  選擇需要的表單擊窗口頂部的Generate 按鈕MiddleGen 即為我們生成這些數據庫表所對應的Hibernate映射文件
  

From:http://tw.wingwit.com/Article/program/Java/ky/201311/28914.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.