Posted on 2006-05-10 15:00
泰仔在線 閱讀(191)
評論(0) 編輯 收藏 所屬分類:
Java 相關
作者: yujiebo025∣來源:天極java∣原文地址∣2005-1-24
安裝篇
一,下載安裝 j2sdk1.4(www.sun.com))或以上,設置 CLASSPATH,java_home。
二,下載服務器,免費版本的有 tomcat,resin,當然也還有 weblogic之類的巨無霸,不過得看你電腦的配置是否承受的了!
這里只以resin來說明,其他的配置都差不多,可以查看各個服務器自帶的說明文件。
resin 服務器可以在 caucho.com下載,選擇合適的版本,下載解壓縮就可以直接使用。
這里resin有一個 resin-ee版本,這個主要是帶ejb功能支持的。 如果用不到ejb,一般的就足夠了。
三,然后就是數據庫,有很多數據庫產品可以選擇,DB2,Oracle,MSSQL,MySQL等等太多了。這里我選擇MySQL,不僅因為它是免費的,而且它的4.0版本在繼承以前版本的快速穩定的基礎上,整合了InnoDB(http://www.innodb.com)先進的事務處理機制。相信伴隨著Linux的壯大,它將在商業數據庫市場占的一席之地。不過就數據庫本身,它還缺少子查詢等強大功能的支持。
安裝就不多說了,配置好用戶名,密碼。 然后就可以下載 MySQL-Front 來可視化操作數據庫。
四,在Java編程上,一個IDE的功能顯然不可缺少,現在流行的IDE很多,有JBuilder,Eclipse,IntellJ IDEA,JCreator等等,其中 eclipse借著開源東風,依靠強大的插件功能被譽為最有前途的工具,JBuilder從來都最強大功能的java工具,不過大到我的電腦實在運行不了,窮啊,可沒錢配新電腦。所以我還是喜歡JCreator,小巧而又功能不俗,應付小規模的應用綽綽有余。編譯開發時要想獲得提示支持,需要在 configure--option--JDK Profiles 導入jar文件。
五,一個站點前臺的界面開發,當然離不開大名鼎鼎的 Dreamweaver 了,它支持jsp,asp等很多語言的開發。特別是最近的Dreamweaver MX 2004 增強了站點的功能,可以方便的對一個站點進行控制。面對struts的前臺自定義標簽,有一個mxp插件可以用來支持顯示sturts的標簽。使用前還要在編輯--標簽庫 里面導入.tld文件,目前只支持html,和bean 兩個標簽。
配置篇
一,resin虛擬站點配置
<host id='yourweb:8080' app-dir='e:\blog\' class-update-interval='2'> <web-app id='/'> <directory-servlet id='false'/> </web-app> <error-log id='log/web-error.log'/> <host> |
然后在定義的目錄下面建立站點。
二,Dreamweaver站點的配置就不多說了。
三,Struts的配置
這里我們使用的是struts1.1,下載并解壓縮到臨時文件夾,就假設是tem文件夾吧。
首先拷貝tem/lib/下面所有的.tld文件到站點的/WEB-INF/目錄下,再拷貝所有的.jar文件到/WEB-INF/lib/目錄下,最后web.xml文件中的配置差不多如下:
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<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> <init-param> <param-name>debug</param-name> <param-value>2</param-value> </init-param> <init-param> <param-name>detail</param-name> <param-value>2</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet>
<servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
<!-- The Usual Welcome File List --> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list>
<!-- Struts Tag Library Descriptors --> <taglib> <taglib-uri>/tags/struts-bean</taglib-uri> <taglib-location>/WEB-INF/struts-bean.tld</taglib-location> </taglib>
<taglib> <taglib-uri>/tags/struts-html</taglib-uri> <taglib-location>/WEB-INF/struts-html.tld</taglib-location> </taglib>
<taglib> <taglib-uri>/tags/struts-logic</taglib-uri> <taglib-location>/WEB-INF/struts-logic.tld</taglib-location> </taglib>
<taglib> <taglib-uri>/tags/struts-nested</taglib-uri> <taglib-location>/WEB-INF/struts-nested.tld</taglib-location> </taglib>
<taglib> <taglib-uri>/tags/struts-tiles</taglib-uri> <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location> </taglib>
</web-app> |
四,Hibernate配置
下載并拷貝/lib目錄下的
hibernate2.jar commons-beanutils.jar commons-collections.jar commons-dbcp.jar commons-lang.jar commons-logging.jar commons-pool.jar dom4j.jar cglib-asm.jar connector.jar |
到應用站點的/lib目錄下。接下來配置 hibernate.cfg.xml文件
<?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd"> <hibernate-configuration> <session-factory>
<property name="hibernate.connection.url"> jdbc:mysql://localhost:3306/yourdatabase </property> <property name="hibernate.connection.driver_class"> org.gjt.mm.mysql.Driver </property> <property name="hibernate.connection.username"> yourname </property> <property name="hibernate.connection.password"> youyrpassword </property>
<!?- 是否將運行期生成的SQL輸出到日志以供調試--> <property name="show_sql">false</property>
<!--dialect ,每個數據庫都有其對應的Dialet以匹配其平臺特性--> <propertyname="dialect">net.sf.hibernate.dialect.MySQLDialect</property> <!?- 事務管理類型,這里我們使用JDBC Transaction --> <property name="transaction.factory_class"> net.sf.hibernate.transaction.JDBCTransactionFactory</property>
<property name="jdbc.batch_size">10</property> <property name="jdbc.use_scrollable_resultset">true</property>
<!?映射文件配置,注意配置文件名必須包含其相對于根的全路徑--> <mapping resource="net/seerlog/hbm/Cat.hbm.xml"/>
</session-factory>
</hibernate-configuration> |
以上配置了數據庫連接所用的地址和用戶名,密碼等。具體參數的含義請參考官方文檔。
映射文件的內容可以手工來寫,也可通過一些工具來自動生成。
整個需要兩種文件: .hbm.xml配置文件 和 .java持久化對象 , 兩者是相互關聯的,.hbm.xml 對數據庫的映射還需要 .java這個bean來操作。所以整個過程需要首先設計好數據庫,然后根據數據庫導出 .hbm.xml文件 ,然后再導出 .java 文件。 有很多工具可以實現這個工程,我們這里采用 Middlegen-Hibernate來實現 數據庫到.hbm.xml文件的轉化,用Hibernate-Extension工具包中的 hbm2java 來實現 .hbm.xml 到 .java 文件的轉化!

查找關鍵字”!ENTITY”,得到:
<!DOCTYPE project [ <!ENTITY database SYSTEM "file:./config/database/hsqldb.xml"> ]> |
b) Application name
<property name="name" value="airline"/> |
c) 輸出目錄
查找關鍵字“name="build.gen-src.dir"”,得到:
<property name="build.gen-src.dir" value="${build.dir}/gen-src"/> |
d) 對應代碼的Package name
<hibernate destination="${build.gen-src.dir}" package="${name}.hibernate" genXDocletTags="false" genIntergratedCompositeKeys="false" javaTypeMapper="middlegen.plugins.hibernate.HibernateJavaTypeMapper" /> |
配置完成后,在MiddleGen 根目錄下運行ant,就將出現MiddleGen的界面:
選擇需要的表,單擊窗口頂部的Generate 按鈕,MiddleGen 即為我們生成這些數據庫表所對應的Hibernate映射文件。
接下來的工作通過Hibernate Extension 來完成,Hibernate Extension 的tools\bin目錄下包含三個工具:
1. hbm2java.bat
根據映射文件生成對應的POJO。通過MiddleGen 我們已經得到了映射文件,下一步就是通過hbm2java.bat工具生成對應的POJO。
2. class2hbm.bat
根據POJO class 生成映射文件,這個工具很少用到,這里也就不再詳細介紹。
3. ddl2hbm.bat
由數據庫導出庫表結構,并生成映射文件以及POJO。這個功能與MiddleGen的功能重疊,但由于目前還不夠成熟(實際上已經被廢棄,不再維護),提供的功能也有限,所以我們還是采用MiddleGen生成映射文件,之后由hbm2java根據映射文件生成POJO 的方式。
這里我們使用第一個hbm2java.bat,利用剛才生成的.hbm.xml文件自動生成 java 文件。
為了使用這個工具,首先我們需要配置一些參數,打開tools\bin\setenv.bat 文件,修改其中的JDBC_DRIVER和HIBERNATE_HOME環境變量,使其指向我們的實際JDBC Driver文件和Hibernate所在目錄。同時檢查一下環境變量CP中的各個項目中是否實際存在,特別是%CORELIB%下的jar文件,某些版本的發行包中,默認配置中的文件名與實際的文件名有所出入(如%CORELIB%\commons-logging.jar, 在Hibernate 發行包中,可能實際的文件名是commons-logging-1.0.3.jar,諸如此類)。
使用hbm2java,根據MiddleGen生成的映射文件生成Java 代碼:
打開Command Window,在tools\bin目錄下執行:
hbm2java c:\sample\org\hibernate\sample\*.xml --output=c:\sample\
通過以上步驟我們就生成了所需要的所有基本配置文件。接下來就可以來初始化這些配置啦。