日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

在 AIX Version 5.3 中使用 Java 和 PHP 技術進行開發(fā),第 1 部...

 hx99 2007-09-08

2007 年 7 月 12 日

在 AIX? 上開發(fā)一個 Java? 應用程序,并了解如何通過使用 PHP 接口擴展該應用程序以查看基礎 Java 代碼。在 AIX 中可以開發(fā)使用 Java 和 PHP 技術的應用程序。在獲得使用 PHP 作為基于 Web 的接口平臺的好處的同時,您可以使用 Java 代碼作為核心邏輯(或者重新部署現(xiàn)有的基于 Java 的應用程序)。本文是系列文章的第 1 部分,研究了 AIX 中 Java 編程語言和 PHP 集成方法的基礎,提供了使用這種結構的示例應用程序的簡要概述,然后介紹了在安裝 Java 編程語言和 Apache Tomcat 以開發(fā)應用程序之前所需掌握的一些核心內(nèi)容。

引言

PHP 是一種非常優(yōu)秀的 Web 開發(fā)語言,而在商業(yè)應用程序開發(fā)方面,Java? 編程語言十分流行。因此,為了在 AIX? Version 5.3 操作系統(tǒng)上充分利用它們的優(yōu)勢,專門開發(fā)了 PHP Java Bridge。本系列文章的目的是使得 AIX 5.3 開發(fā)人員能夠更快地在 Web 應用程序的開發(fā)中集成 PHP 和 Java 技術。

為了說明這一點,您將按照典型的開發(fā)過程來構建一個簡單的問卷調(diào)查應用程序,具體內(nèi)容包括:

  • 開發(fā)主要的 Java 應用程序
  • 通過 Servlet 將 Java 應用程序公開為基于 Java 的 Web 應用程序
  • 添加在數(shù)據(jù)庫中存儲信息的支持
  • 將原始應用程序公開為 Web 服務,并為該應用程序提供 PHP 接口
  • 使用專門的 PHP Java Bridge 重新開發(fā) PHP 接口

同時使用 PHP 和 Java 技術

對于企業(yè)而言,在為應用程序開發(fā)新的接口的過程中,最常見的問題之一是如何設計解決方案。隨著向支持 Web 的應用程序的發(fā)展,通常需要為使用現(xiàn)有的語言和框架的現(xiàn)有應用程序開發(fā)基于 Web 的包裝器。

對于某些環(huán)境,這可能會導致一些問題,因為 Web 應用程序的部署情況可能基于完全不同的技術,并且在許多情況下,某個特定環(huán)境的能力和優(yōu)勢始終不能得到最大程度利用。

甚至在開發(fā)新的應用程序時,也可能會出現(xiàn)同樣的問題,即 Web 開發(fā)專家習慣于某種環(huán)境,如 PHP,而您的業(yè)務應用程序邏輯專家則對 Java 技術有著豐富的經(jīng)驗。有些時候,您可能希望充分利用不同環(huán)境所提供的靈活性。PHP 允許對 Web 應用程序進行快速的應用程序原型設計,并且允許根據(jù)需要將 HTML 和嵌入的 PHP 命令混合在一起,這使得 Web 接口的開發(fā)變得非常容易。

盡管 Java 環(huán)境可以使用 Java Server Pages (JSP) 和本地解決方案(如用于 HTML 對象部署的 Struts)進行 Web 部署,但是它通常更適合用于大型應用程序中的核心應用程序邏輯。Java 環(huán)境具有強類型和標準化的特點,所以它更適合為復雜的業(yè)務應用程序開發(fā)解決方案。

關鍵是使用一種合適的解決方案,而該方案使您能夠為應用程序的不同部分(后端邏輯和前端接口)同時使用這兩種解決方案,并且使用 Java 和 PHP 技術的接口在兩種系統(tǒng)之間進行信息交換。

Java 和 PHP 技術之間并沒有直接的關聯(lián),它們是兩種不同的技術,使用了完全不同的邏輯、二進制代碼和部署環(huán)境。然而,有一種方法可以使得兩種系統(tǒng)之間能夠相互通信,那就是使用面向服務的體系結構(SOA)和 Web 服務來進行信息交換。在這個示例場景中,您將通過一系列 Web 服務來公開 Java 應用程序。然后,PHP 應用程序將充當 Web 服務客戶端,以便與 Java Web 服務接口進行通信。

另一種方法是使用 PHP Java Bridge,它提供了一個直接對象接口,該接口允許您在同一個應用程序中直接使用 Java 和 PHP 代碼。

在本系列文章和教程中,將詳細介紹如何開發(fā) Java 應用程序,并使用基礎 Java 代碼的 PHP 接口對該應用程序進行擴展。

構建問卷調(diào)查應用程序

在本系列文章的學習過程中,您將構建一個簡單的問卷調(diào)查系統(tǒng),該系統(tǒng)提供了一系列問題,并收集對這些問題的回答,然后在這些回答的基礎上提供統(tǒng)計分析。

在 Java 代碼中使用一個用于調(diào)查的基類構建應用程序邏輯,以進行問卷調(diào)查。您還將構建一個單獨的基類(保存問題的核心數(shù)據(jù)),通過對這個類進行擴展,您可以得到一些其他類以支持不同的響應類型(多項選擇、文本條目、評估等等)。您可以在圖 1 中看到這個基本調(diào)查類的結構。


圖 1. 問卷調(diào)查應用程序的核心類
問卷調(diào)查應用程序的核心類

要通過 Web 接口公開這個應用程序,您需要構建一個 Java Servlet,它對原始問題類進行了擴展,支持以 HTML 的形式輸出這些問題,并接收響應。該元素的結構如圖 2 所示。


圖 2. 將問卷調(diào)查應用程序公開為基于 Java 的 Web 服務
將問卷調(diào)查應用程序公開為基于 Java 的 Web 服務

因為您可能希望能夠對結果信息進行存儲,所以需要構建到 DB2? 數(shù)據(jù)庫的接口并對基本的 Survey 類進行擴展,以便能夠將接收到的響應寫入到數(shù)據(jù)庫中。

要提供針對該系統(tǒng)的 PHP 接口,可以在 Java 端對應用程序進行重新調(diào)整,使其作為一項 Web 服務,然后您可以從 PHP 應用程序中對其進行訪問,以提供可供選擇的接口。最后一項工作是,使用 PHP Java Bridge 重新部署該應用程序以實現(xiàn)系統(tǒng)性能的最大化。

要完成前兩個步驟,即開發(fā)核心應用程序然后將該應用程序部署為 Java Servlet,您需要安裝 Java 編程語言和 Apache Tomcat(一種 Java Servlet 部署環(huán)境)。讓我們首先來安裝和設置 Java 編程語言。

安裝 Java 編程語言

您需要安裝 Java Software Development Kit (SDK) Version 5 或更高版本,并且需要的是開發(fā)環(huán)境而不是運行時環(huán)境,因為您將需要把 Java 源代碼編譯成示例應用程序中的核心應用程序對象所需的類。

AIX Version 5.3 分發(fā)版中提供了 32 位的 Java V1.4 SDK,而您的系統(tǒng)中可能已經(jīng)安裝了該軟件,因為它是 WebSM 所必需的??梢酝ㄟ^運行 lslpp -L Java14.sdk 來進行驗證。IBM developerWorks 站點提供了 64 位的 Java 5 SDK(請參見參考資料)。除了使用更新的 Java 發(fā)行版之外,64 位應用程序能夠在使用 64 位內(nèi)核的 64 位硬件上更高效地運行。可以按照下列步驟進行安裝:

  1. 下載 Java5_64.sdk.tar.gz 文件到您的系統(tǒng)。
  2. 使用 gunzip -c Java5_64.sdk.tar.gz | tar -xvf - 對 SDK 進行解壓縮。
  3. root 用戶的身份,使用以下的命令行安裝 SDK: installp -a -d Java5_64.sdk all。

或者通過 SMIT:

  1. 運行 smitt install
  2. 選擇 Install and Update Software。
  3. 選擇 Install Software
  4. 指定包含映像的文件的全路徑(例如,/usr/local/src/Java4_64.sdk)。
  5. 單擊 OK。
  6. 單擊 OK 然后安裝 SDK。

安裝 Tomcat

Apache Tomcat 提供了一個 JSP 部署平臺。您可以通過它來部署使用 Web 接口或支持 Web 服務應用程序部署的 Java 應用程序。在本系列文章中,您將 Java 技術用作 Java 服務平臺,稍后將其作為 Java 和 PHP 交叉平臺開發(fā)的解決方案。

Tomcat 可能是最容易安裝和部署的系統(tǒng)組件。作為一個本地 Java 應用程序,在安裝了 Java 應用程序之后,安裝和設置 Tomcat 都是非常簡單的。

按照以下步驟安裝 Tomcat:

  1. 下載最新的 Tomcat 包(請參見參考資料)。正如本文所述,V6.0.10 是 Apache Tomcat 最近的穩(wěn)定發(fā)行版。
  2. 使用 targunzipunzip 解壓縮 Tomcat 包: $ gunzip -c apache-tomcat-6.0.10.tar.gz|tar xvf -
  3. 將解壓縮得到的目錄移動到您希望安裝 Tomcat 的位置,但請不要對所創(chuàng)建的目錄進行重命名。例如: $ mv apache-tomcat-6.0.10 /usr/local。
  4. 在真實的目錄和您希望使用的名稱之間創(chuàng)建一個符號鏈接。這使得可以在需要的時候,更方便地升級到更新的 Tomcat 版本: $ ln -s /usr/local/apache-tomcat-6.0.10 /usr/local/tomcat。

因為 Tomcat 是一個 Java 應用程序,所以無需遵循特殊的安裝或者構建方法。您現(xiàn)在應該準備好了安裝并啟動 Tomcat。

Tomcat 目錄結構

在第一次啟動 Tomcat 之前,您應該再次檢查 Tomcat 系統(tǒng)的配置,以確保它與您的環(huán)境是匹配的。在檢查配置之前,有必要查看一下 Tomcat 安裝的基本目錄結構:

  • LICENSE
  • NOTICE
  • RELEASE-NOTES
  • RUNNING.txt
  • bin/
  • conf/
  • lib/
  • logs/
  • temp/
  • webapps/
  • work/

Tomcat 安裝中的關鍵部分如下所述:

  • bin 目錄包含主要的腳本以及控制和運行 Tomcat 應用程序的應用程序。該目錄中包括一些 Shell 腳本、本地 Windows? 應用程序和 Windows 批處理文件。您應該對該目錄中的 Shell 腳本運行 chmod 以確保您可以啟動、停止以及控制 Tomcat 的安裝: $ chmod ugo+x bin/*.sh
  • conf 目錄包含一些保存了 Tomcat 配置信息的文件。在最初設置了 Tomcat 之后,幾乎不用再改變這些配置信息,因為可以通過 Tomcat 接口直接完成大多數(shù)安裝和部署工作。
  • lib 目錄中包含一些庫和 Java 代碼文件,而 Java 系統(tǒng)正是由這些內(nèi)容構成的。
  • 在安裝 Tomcat 服務器時將自動創(chuàng)建 logs 目錄,其中包含日志文件(包括錯誤日志)。
  • temp 目錄也是在安裝 Tomcat 服務器時自動創(chuàng)建的,其中包含各種臨時文件。
  • webapps 目錄是安裝您的 Web 應用程序組件的地方。您可以安裝 JAR 文件、WAR 文件和組成您的應用程序的 JSP 文件。在缺省情況下,Tomcat 包括文檔、示例和用于控制 webapps 目錄中 Tomcat 安裝的管理應用程序。
  • work 目錄包含正在運行的應用程序的工作組件,該目錄是 Tomcat 在運行時自動創(chuàng)建的。

現(xiàn)在,讓我們來檢查一下 Tomcat 的配置,因為您可能需要更新其中的部分配置,以適應您的環(huán)境。

Tomcat 配置

Tomcat 中大量的選項使人眼花繚亂,這些選項用于配置各種功能和選項。對于標準安裝而言,通常大多數(shù)選項不需要您去操心。

但是可能需要對很多關鍵的元素進行配置。在缺省情況下,Web 服務器通常運行于 TCP/IP 的 80 端口,為了避免與其產(chǎn)生沖突,Tomcat 在端口 8080 上運行,但是在某些服務器上,可能已經(jīng)將其配置給另一個應用程序使用,如 Web 代理。

通過編輯 conf/server.xml 文件,您可以改變 Tomcat 所偵聽的缺省端口。您需要在 Catalina 服務里找到“Connector”塊,它通常位于該文件開頭的 50 行中。您可以參見清單 1 中的示例。


清單 1. Connector 塊
                        <Service name="Catalina">
                        <!-- A "Connector" represents an endpoint by which requests are received
                        and responses are returned. Documentation at :
                        Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
                        Java AJP  Connector: /docs/config/ajp.html
                        APR (HTTP/AJP) Connector: /docs/apr.html
                        Define a non-SSL HTTP/1.1 Connector on port 8080
                        -->
                        <Connector port="8080" protocol="HTTP/1.1"
                        maxThreads="150" connectionTimeout="20000"
                        redirectPort="8443" />
                        

將端口屬性值更改為您希望使用的端口。如果需要,您可能還希望調(diào)整 redirectPort 屬性,其中包含了安全套接字層 (SSL) 連接所使用的端口。如果您更改了這個值,那么請確保同時更改 SSL 連接的端口規(guī)范,如清單 2 所示。


清單 2. 更改端口規(guī)范
                        <!-- Define a SSL HTTP/1.1 Connector on port 8443
                        This connector uses the JSSE configuration, when using APR, the
                        connector should be using the OpenSSL style configuration
                        described in the APR documentation -->
                        <!--
                        <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
                        maxThreads="150" scheme="https" secure="true"
                        clientAuth="false" sslProtocol="TLS" />
                        -->
                        

如果您希望服務器特定主機上的服務能夠支持多個網(wǎng)絡接口或地址,那么您還必須修改主機名規(guī)范。需要在兩個位置對其進行設置,一處是在 Engine 標記中,而另一處是在特定的 Host 標記中,如清單 3 所示。


清單 3. 修改主機名規(guī)范
                        <Engine name="Catalina" defaultHost="localhost">
                        ...
                        <!-- Define the default virtual host
                        Note: XML Schema validation will not work with Xerces 2.2.
                        -->
                        <Host name="localhost"  appBase="webapps"
                        unpackWARs="true" autoDeploy="true"
                        xmlValidation="false" xmlNamespaceAware="false">
                        

您必須更改 defaultHost,然后更改相應的名稱屬性。

在配置中,您需要檢查的另一個文件是 conf/web.xml 文件。您暫時不需要編輯這個文件,但需要熟悉其中的內(nèi)容,因為在 Tomcat 服務器中設置附加的應用程序時必須編輯這個文件。

啟動 Tomcat

在安裝和配置了 Tomcat 之后,您可以啟動 Tomcat 服務器。首先,確保將 JAVA_HOME 環(huán)境變量設置為 Java 環(huán)境的正確安裝位置。如果您已經(jīng)安裝了 Java5_64,那么該安裝位于 /usr/java5_64(請參見清單 4)。


清單 4. Java 安裝位置
                        $ JAVA_HOME=/usr/java5_64
                        $ export JAVA_HOME
                        

您可能還希望在主要的 PATH 中顯式地添加 Java 執(zhí)行路徑,如清單 5 所示。


清單 5. 將 Java 應用程序添加到 PATH
                        $ PATH=$JAVA_HOME/bin:$JAVA_HOME/rje/bin:$PATH
                        $ export PATH
                        

另外,您還可以在一個環(huán)境變量中設置 Tomcat 安裝位置的路徑,以便更容易定位(請參見清單 6)。


清單 6. 設置 Tomcat 路徑
                        $ CATALINA_HOME=/usr/local/tomcat
                        $ export CATALINE_HOME
                        

現(xiàn)在,您應該能夠使用所提供的 Shell 腳本來啟動 Tomcat 了。啟動腳本將顯示配置信息(請參見清單 7)。


清單 7. Tomcat 啟動腳本
                        $ $CATALINA_HOME/bin/startup.sh
                        Using CATALINA_BASE:   /Data/Incoming/apache-tomcat-6.0.10
                        Using CATALINA_HOME:   /Data/Incoming/apache-tomcat-6.0.10
                        Using CATALINA_TMPDIR: /Data/Incoming/apache-tomcat-6.0.10/temp
                        Using JRE_HOME:       /usr/java5_64
                        

如果其中報告了任何錯誤,那么您可能希望在 logs/catalina.out 中查看更詳細的日志信息。清單 8 中顯示了一個輸出示例。


清單 8. Catalina.out 日志
                        Mar 31, 2007 8:51:11 AM org.apache.catalina.core.AprLifecycleListener init
                        INFO: The Apache Tomcat Native library which allows optimal performance in production
                        environments was not found on the java.library.path: /usr/local/lib:/u
                        sr/local/apr/lib:.:/usr/java5/extensions:/usr/java5/lib
                        Mar 31, 2007 8:51:13 AM org.apache.coyote.http11.Http11Protocol init
                        INFO: Initializing Coyote HTTP/1.1 on http-8080
                        Mar 31, 2007 8:51:13 AM org.apache.catalina.startup.Catalina load
                        INFO: Initialization processed in 5262 ms
                        Mar 31, 2007 8:51:13 AM org.apache.catalina.core.StandardService start
                        INFO: Starting service Catalina
                        Mar 31, 2007 8:51:13 AM org.apache.catalina.core.StandardEngine start
                        INFO: Starting Servlet Engine: Apache Tomcat/6.0.10
                        Mar 31, 2007 8:51:23 AM org.apache.coyote.http11.Http11Protocol start
                        INFO: Starting Coyote HTTP/1.1 on http-8080
                        Mar 31, 2007 8:51:23 AM org.apache.jk.common.ChannelSocket init
                        INFO: JK: ajp13 listening on /0.0.0.0:8009
                        Mar 31, 2007 8:51:23 AM org.apache.jk.server.JkMain start
                        INFO: Jk running ID=0 time=0/34  config=null
                        Mar 31, 2007 8:51:23 AM org.apache.catalina.startup.Catalina start
                        INFO: Server startup in 10466 ms
                        

其中應該包含有關出錯情況的更詳細信息。最常見的問題是與現(xiàn)有的服務發(fā)生端口沖突或者缺少 Java 安裝。

測試安裝

要對 Tomcat 安裝進行測試,一種比較簡單的方法是在其啟動之后訪問 Tomcat 服務器頁面。如果您沒有更改端口號,并且您的服務器上安裝了瀏覽器,那么可以使用瀏覽器進行訪問: http://localhost:8080/。

如果 Tomcat 服務器位于另一臺計算機或者您更改了端口號,那么可以替換上述示例中的 localhost 和 8080。例如: http://192.168.0.170:8080/。

您應該得到與圖 3 所示類似的窗口。


圖 3. 正在運行的 Tomcat 安裝
正在運行的 Tomcat 安裝

總結

在本文中,您簡要地了解了一些與在 AIX 中使用 PHP 和 Java 技術進行開發(fā)和部署的原因相關的問題,以及對這兩種系統(tǒng)進行集成的一些可用的解決方案。然后介紹了一個基本的應用程序,其中使用了 Java 后端和類,以便支持使用 PHP 通過 Web 接口進行擴展的不同操作。在本系列文章的下一部分中,您將使用 Java 技術開發(fā)核心應用程序邏輯。

 

 

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多