混合Eclipse、WTP、Struts和Hibernate

來源:互聯網
上載者:User

使用Eclipse Web Tools Project、Tomcat應用伺服器和MySQL資料庫伺服器,建立了一個Web應用程式。儘管該應用程式(DBTest)可能會很不錯,但是也會存在一些局限性: 在servlet代碼中,Java Server Pages (JSP) 名稱是硬式編碼 SQL也被寫入程式碼到命令類中。

幸運的是,這些問題可以通過兩種有趣的解決方案得以解決。第一個問題可通過使用開源Struts架構解決,該架構通過將模型動作映射到一個簡單設定檔中的視圖組件(比如JSP),從而分離應用程式的模型、視圖和控制器。

第二個問題可使用提供Java和關聯式資料庫持久性的架構來解決。Hibernate架構在對象和資料庫表之間提供了一個強大的高效能映射引擎。本文將使用下列技術:

J2SE 5.0 JRE:http://java.sun.com/j2se Eclipse 3.1:www.eclipse.org WTP 1.0:www.eclipse.org/webtools Tomcat 5.0:http://jakarta.apache.org/tomcat/ MySQL 4.0.25:www.mysql.com MySQL Connector/J driver 3.1:www.mysql.com/products/connector/j/ Struts 1.1:http://struts.apache.org Hibernate 3...www.hibernate.org   應用程式概述

我們再扼要重述一下上次我們做了些什麼。該基本Web應用程式實現了下列用例:

顧客必須在網站註冊以下單 顧客可以下單 顧客可以瀏覽自己的訂單 管理員可以列出全部登入顧客

該系統使用通用servlet/jsp編程模型、MySQL資料庫以及Tomcat應用伺服器實現。系統領域模型由Customer(顧客)和Order(訂單)兩個類表示(參見圖1)。

建立了兩個對應的資料庫表CUSTOMERS和ORDERS來表示這些對象所持有的資料。還建立了4個負責執行上述用例的資料庫命令類,以及四個作為控制器的Servlet,來收集使用者輸入資訊,調用這些命令,並將響應轉寄給適當的JSP。CommandExecutor類負責使用Tomcat串連池處理資料庫連接。

添加Struts支援

使用File-Import選項並選擇要匯入的WAR檔案,將DBTestWAR檔案匯入Eclipse工作空間。如果工作空間中沒有DBTest項目,上述操作就可以了。如果工作空間中已經有了DBTest項目,在Navigator視圖的已有項目上右擊,然後選擇複製和粘貼,儲存現有項目。當提示輸入新項目名稱時,選擇DBTestStruts作為新項目名,以便不會覆蓋現有項目。現在,為添加Struts支援,必須將下列檔案複製到WEB-INF\lib檔案夾:struts.jar、commons-lang.jar、commons-collections.jar、commons-beanutils.jar、commons-validator.jar、commons-logging.jar、commons-digester.jar、commons-fileupload.jar。

上述所有檔案均可從Struts Web網站下載獲得,這些檔案包含Struts framework以及相應的Apache Commons包,這些包是處理諸如國際化、集合操作、工具 + 生產力、驗證、日誌記錄、digester以及檔案上傳操作等特性所必需的。上述均為Struts支援的組件。本文不會用到上述所有功能,但是Struts依賴於其中的許多功能,例如,在解析Struts設定檔時就會大量用到digester功能。當需要使用日誌記錄、檔案上傳等服務時,這些功能就會派上用處。

因此,要將下列檔案添加到WEB-INF檔案夾中:struts-config.xml、struts-bean.tld、struts-html.tld、struts-logic.tld、struts-nested.tld、struts-template.tld、struts-tiles.tld。

其中struts-config.xml檔案最為重要,該檔案是Struts架構的主要設定檔,包含有所有的動作映射、資料來源、外掛程式等的定義。參見清單1中的例子。

清單1:Struts設定檔

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<!-- Data Sources -->
<data-sources>
</data-sources>
<!-- Form Beans -->
<form-beans>
</form-beans>
<!-- Global Exceptions -->
<global-exceptions>
</global-exceptions>
<!-- Global Forwards -->
<global-forwards>
</global-forwards>
<!-- Action Mappings -->
<action-mappings>
</action-mappings>
</struts-config>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.