程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 利用Stripes、Apache Derby和Eclipse進行無配置的J2EE開發(一)

利用Stripes、Apache Derby和Eclipse進行無配置的J2EE開發(一)

編輯:關於JAVA

開始之前

關於本教程

自從 Java 技術的版本 5 以來,很多 Web 框架和服務器端組件架構,如 Enterprise JavaBeans (EJB) 3.0 技術,已從元數據注釋的使用受益。Stripes 是一個輕量級的 Java Web 應用程序框架,它也得到了這些受益。Stripes 是獨特的,因為它利用 Java 5 注釋來使得外部配置成為不必要的,因此不再需要針對元數據存儲的 XML 配置文件。

本教程是利用 Stripes、Derby 和 Eclipse 開發應用程序的一個實踐性教程。演示了 如何開發、打包和部署一個簡單的 Stripes 應用程序,用於在 Derby 數據庫上執行 CRUD 操作。JavaServer Pages (JSP) 用戶界面 (UI) 與 Stripes 動作模型交互。 Stripes 又與在 Derby 數據庫上執行事務的 Java Database Connectivity (JDBC) 數據 訪問對象交互。JSP Standard Tag Library (JSTL) 提供視圖邏輯。

目標

本教程演示了如何容易地從新構建一個簡單的 Stripes 應用程序。您將會熟悉 Stripes 框架、Apache Derby 數據庫以及支持 Eclipse 集成開發環境 (IDE) 的工具。

本教程的目標不是深入介紹每一種單個的技術。相反,是以一種實踐的方式,向您展 示如何利用這些技術來開始開發一個 Stripes 和 Derby 應用程序。本教程包括一個完整 功能的示例應用程序 —— Glossary 1.0,您可以查看、修改和重新部署它。對該應用程 序的修改不僅是允許的,而且鼓勵您這麼去做,因為完整的源代碼可從 下載 一節下載。

前提條件

以前具有 Java 技術和 Web 開發方面的經驗是有幫助的。

系統需求

要跟隨本教程中的例子,必須安裝以下軟件:

Java software development kit (JDK) V1.5 或更高版本

Apache Tomcat 5.5.15 或更高版本

Stripes 1.3.2

Apache Derby 10.1.2.1

Eclipse 3.1 或更高版本

注意:推薦用 WebTools 安裝所有這些軟件。我對本教程使用了 Callisto。

Apache Ant 1.6.5

有關運行 Java 5 Runtime Environment (JRE) 需要什麼的更多信息,請訪問 Java 下載站點。

項目設置

首先,為開發設置 Apache Derby 和 Eclipse。

下載和安裝 Apache Derby

要安裝 Derby,需要完成以下步驟:

下載 Apache Derby。

將 tarball 解壓到所需的目錄(我將它安裝在 C:\java\db-derby-10.1.2.1-bin 中 )。

設置 DERBY_INSTALL 環境變量,如 圖 1 所示。

圖 1. 為 Windows 設置 DERBY_INSTALL 環境變量

打開一個到 C:\DERBY_INSTALL_PATH\frameworks\NetworkServer\bin 的命令提示符 ,其中 C:\DERBY_INSTALL_PATH 是您計算機上的驅動盤符和 Derby 安裝路徑。

執行 setNetworkServerCP.bat。

執行 startNetworkServer.bat。

命令提示符應該類似於 圖 2。Derby 現在已經准備好請求了。

圖 2. 處於網絡模式的 Derby

為 Apache Derby 配置 Eclipse

您可以通過 Eclipse 連接到 Derby 服務器實例。為此,需要完成以下步驟:

單擊 Window > Show View > Other。

在 Show View 窗口,選擇 Database Explorer,如 圖 3 所示。

圖 3. 選擇 Database Explorer 視圖

從 Database Explorer 視圖,右擊 Connections,然後單擊 New Connection,如 圖 4 所示。

圖 4. 從 Eclipse Database Explorer 創建新的連接

鍵入 圖 5 所示的數據庫連接信息。使用默認的用戶 ID 和密碼,兩者都是 sa。

圖 5. 數據庫連接信息

向下滾動到 APP 模式。右擊 Tables,指向 New,然後單擊 With SQL Editor,如 圖 6 所示。

圖 6. Glossary 數據庫的 Derby 實例


 

注意:默認情況下,SQL Editor 用一個 Create Table 語句填充頁面。您必須用 清 單 1 所示的語句替換該頁面。

清單 1. 替換語句

CREATE TABLE APP.GLOSSARY
  (TERM_ID INT NOT NULL GENERATED ALWAYS AS IDENTITY
   (start WITH 1, INCREMENT BY 1),
    TERM VARCHAR(80) NOT NULL,
    DEFINITION VARCHAR(500) NOT NULL);

INSERT INTO APP.GLOSSARY VALUES (DEFAULT,'Velocity','Rapidity or speed  of motion;
  specifically, the distance traveled per unit time.');
INSERT INTO APP.GLOSSARY VALUES (DEFAULT,'Value','Monetary or material  worth.');
INSERT INTO APP.GLOSSARY VALUES (DEFAULT,'Speed','The magnitude of a  velocity.');
INSERT INTO APP.GLOSSARY VALUES (DEFAULT,'Agile','Characterized by  quickness,
  lightness, and ease of movement; nimble.');

右擊腳本頁面,然後單擊 Run SQL。

選擇 glossary 數據庫連接,然後單擊 Finish,如 圖 7 所示。

圖 7. 連接選擇 窗口

當 SQL 腳本運行後,Data Output 窗口會顯示結果用於查看。

單擊 Database Explorer 選項卡,並向下滾動到 圖 8 所示的 GLOSSARY 表。

圖 8. Glossary 表及其成員


 

使用 Database Explorer 來查看預填充的數據。右擊 GLOSSARY 表,然後選擇 Data > Edit,如 圖 9 所示。

圖 9. 探索 Glossary 表

現在數據顯示在一個可編輯的數據格子中。當您保存數據更改時,SQL 語句可以被執 行並提交到數據庫。配合 Database Explorer,Data Output 視圖顯示您執行的 SQL 的 狀態。通過單擊 Data Output 視圖中左邊表上的 Status,如 圖 10 所示,您可以查看 每個運行的 SQL 的消息、參數和結果。

圖 10. GLOSSARY 表的上下文敏感菜單

在 Eclipse 中創建 Glossary 動態 Web 項目

接下來將使用 Eclipse Web Tools Platform (WTP) 創建一個新的動態 Web 項目。首 先,必須創建一個 Tomcat 服務器實例,以便 Eclipse Web 項目可以部署到 Tomcat 服 務器實例,而不需要部署腳本配置。

創建動態 Web 項目

要在 Eclipse 中創建動態 Web 項目,需要完成以下步驟:

啟動 Eclipse。

單擊 File > New > Project。

在 New Project 窗口中,展開 Web 文件夾,選擇 Dynamic Web Project,然後單擊 Next,如 圖 11 所示。

圖 11. 選擇 Dynamic Web Project 向導


 

鍵入以下項目信息,然後單擊 Finish:

Project name:Glossary2

Project contents:存儲項目文件的位置

Target Runtime:指向您的 Tomcat 服務器

圖 12 展示了完成的設置。

 

圖 12. 新的動態 Web 項目

注意 Package Explorer 中的 Glossary2 項目。默認情況下,Eclipse 創建一個 src 文件夾,用於存儲 Java 包和源代碼。

用以下三個包和源文件填充 src 文件夾,如 圖 13 所示:

glossary.Term.java

glossary.action.GlossaryActionBean.java

glossary.dao.MyGlossaryTerm.java

圖 13. Glossary2 應用程序包結構

利用 Apache Ant 進行部署

作為一種部署備選方案,隨 Derby 下載提供了一個 Ant 腳本,該腳本駐留在 build 路徑中。對於可指向 Ant 構建腳本的項目工作區,您可以為 Eclipse 分配一個定制構建 程序(custom builder)。

在 /WebContent/WEB-INF/ 目錄中,打開 web.xml 文件進行編輯。

編輯 web.xml 文件

清單 2 給出了一個典型的 web.xml 配置。在這裡可以看到用於配置 Stripes、 filters、filter-mapping、servlets 和 servlet-mapping 設置的代碼。

清單 2. Web.xml

<![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
  xmlns="http://java.sun.com/xml/ns/j2ee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
  http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <display-name>Glossary</display-name>
  <welcome-file-list>
   <welcome-file>index.html</welcome-file>
   <welcome-file>index.htm</welcome-file>
   <welcome-file>index.jsp</welcome-file>
   <welcome-file>default.html</welcome-file>
   <welcome-file>default.htm</welcome-file>
   <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>

  <filter>
   <display-name>Stripes Filter</display-name>
   <filter-name>StripesFilter</filter-name>
   <filter-class>
    net.sourceforge.stripes.controller.StripesFilter
   </filter-class>
  </filter>

  <filter-mapping>
   <filter-name>StripesFilter</filter-name>
   <url-pattern>*.jsp</url-pattern>
   <dispatcher>REQUEST</dispatcher>
  </filter-mapping>

  <filter-mapping>
   <filter-name>StripesFilter</filter-name>
   <servlet-name>StripesDispatcher</servlet-name>
   <dispatcher>REQUEST</dispatcher>
  </filter-mapping>

  <servlet>
   <servlet-name>StripesDispatcher</servlet-name>
   <servlet-class>
    net.sourceforge.stripes.controller.DispatcherServlet
   </servlet-class>
   <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
   <servlet-name>StripesDispatcher</servlet-name>
   <url-pattern>/dispatcher</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
   <servlet-name>StripesDispatcher</servlet-name>
   <url-pattern>*.action</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
   <servlet-name>StripesDispatcher</servlet-name>
   <url-pattern>/action/*</url-pattern>
  </servlet-mapping>
</web-app>

]]>

沒有使用 Tomcat 或 Eclipse?

如果您使用一個 servlet 容器而不是 Tomcat 來運行應用程序,那麼可能需要修改 web.xml 或描述符文件。在安裝了 Ant 之後,構建應用程序很簡單。使用一個命令提示 符,轉到 build 目錄並通過鍵入 ant 聲明默認的 Ant 目標。構建將為 Tomcat 服務器 清除、編譯和創建一個 .jar 文件;為 Tomcat 服務器創建一個 .war 文件;以及試圖將 應用程序部署到 Tomcat 服務器。

當准備部署應用程序時,請確保 Derby 在運行並監聽端口 1527。此外,確保 .war 文件已經部署,servlet 容器在運行。

現在需要確保以下 .jar 文件在 /WEB-INF/lib 目錄中:

commons-logging.jar(Stripes 發行版附帶的)

cos.jar(Stripes 發行版附帶的)

derby.jar

derbyclient.jar(包含示例應用程序所需要的任何內容)

derbynet.jar(用於服務器)

jstl.jar

log4j-1.2.13

ognl-2.6.7.jar(Stripes 發行版附帶的)

standard.jar

stripes.jar(Stripes 發行版附帶的)

將 style 和 images 目錄從應用程序下載復制到 WebContent 文件夾,然後右擊 Glossary2 項目根並選擇 Run As > Run on Server,如 圖 14 所示。

圖 14. 在服務器上運行應用程序

如果沒有指定服務器實例,Eclipse 將實例化表單以定義一個新的服務器。完成該表 單 —— 您很有可能使用默認設置 —— 然後單擊 Finish,如 圖 15 所示。

圖 15. 定義 Tomcat 服務器

Servers 視圖現在應該包含 Glossary 應用程序,如 圖 16 所示。

圖 16. Tomcat 集成

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved