將現有的靜態 Web 站點轉變為動態 Web 站點

myattitude發表於2009-04-14

詳細情況

匯入必需的 J2EE 模組

此元件需要用 PVIT_STATIC 實現的 PVIT Web 站點的第一個部分。

  1. 來自 PVIT_STATIC 的結果的工件被儲存為工程交換壓縮檔案。
  2. 壓縮的 Project Interchange 檔案(PVIT_STATIC_RAD.zip)在 下載 部分中可以找到。
  3. 將該壓縮檔案作為 Project Interchange 匯入到您的工作區。應該匯入工程 PVIT。

將靜態工程轉變為動態 Web 工程

  1. 一旦工程成為動態的工程,我們就可以開發與前端使用者互動的 servlet 了。
  2. 在環境選單中選擇 PVIT 並選擇 Static Web Project > Convert to a Dynamic Web Project
  3. 將 Web 版本設定為預設的 2.4。
  4. 單擊 OK 完成嚮導。
  5. 當完成遷移之後,開啟 Web 工程的屬性,並將執行時設定為以下其中一個:IBM® WebSphere® Application Server,IBM® WebSphere® Application Server CE,Tomcat 伺服器。
  6. 如果您要把此工程部署到 Tomcat 以外的伺服器上,那麼您需要建立 EAR 工程。
  7. 建立名為 PVITEAR 的新的 Enterprise Application Project,並將此 Web 工程新增為模組。

建立新的伺服器

  1. Servers 檢視中建立新的伺服器。
  2. Server Type:WebSphere Application Server,WebSphere Application Server CE,Tomcat server。
  3. PVITEAR 新增到伺服器的 Configured Projects 中。完成嚮導。
  4. 在伺服器上執行工程,以確保正確地進行了轉換。
  5. 利用 Source Editor 對頁面修改所有出錯的連結。

建立 Mail Servlet

  1. 在 Java Resources 中建立新的包:工程的 src 資料夾,稱為 com.ibm.mymail
  2. 向 src/com.ibm.mymail 新增名為 MailServlet.javaJava Servlet(從下載部分中獲得)。
    • 當用 WebSphere Application Server 時,您不會看到任何錯誤。
    • 當用 Tomcat 時,您需要向 Tomcat_install_dir/common/lib 目錄新增兩個 jar,來新增郵件支援:
    • mail.jar 可以在下載部分中得到。它來自於 javamail-1.4。要自己下載,您可以去 http://java.sun.com/products/javamail/downloads/index.html
  3. activation.jar 可以在下載部分中獲得。它來自於 jaf-1.1。要自己下載 Java Activation Framework,您可以去 http://java.sun.com/products/javabeans/glasgow/jaf.html。
  4. 開啟 Web Deployment Descriptor,單擊 Servlets 選項卡,及 Add... 遵照這些準則:
    • 選擇使用現有的 Servlet 類,選擇 Browse...,在 com.ibm.mymail 包中找到名為 MailServlet 的 servlet。
    • 選擇 Next
      • 驗證名字為:MailServlet
      • URL Mapping 是:/MailServlet
    • 完成。儲存。檢視所有斷開的連結的來源,並隨需修復

圖 1. Servlet Creation
Servlet Creation 對話方塊
  1. 用名為 comment.html 的 HTML/XHTML 基本模板建立新的 Web 頁面,並在 teambuilding.html 頁面上新增一個到該頁的連結。
  2. 在 comment 頁面上,用圖 2 中的 header 建立一個表單。

圖 2. Comment Page Header
Comment Page Header
  1. 在表單中建立以下本文框。

圖 3. Form. Text 框
Form. Text 框
  1. 在 FORM. 標籤中新增 Submit Button。該按鈕將如圖 4 中原始碼所示。

圖 4. Submit Button
Submit Button

建立 SMTP 伺服器,用於電子郵件的傳送。

  1. 開啟 MailServlet.java,並改變以下值。

圖 5. Mail Servlet 更新
Mail Servlet 更新
  1. 在伺服器上執行工程,並測試電子郵件 comment.html 頁面。

新增 J2EE 安全性

利用 J2EE 安全性模型向多個 Web 資源新增訪問限制。我們希望不被保護的頁面放在一個目錄下,而被保護的頁面放在另一個目錄下 —— 舉例來說,我們希望保護 Employee Information 頁面。

取代在 web.xml 和 EAR 部署描述符中提供安全性,我們利用 Rational Application Developer 7.0 的 Security Editor。

  1. 開啟 PVIT 的 Security Editor。如果這是您第一次開啟此編輯器,那麼您將看到一個問題,“您想要建立一個安全性角色嗎?”選擇 OK

圖 6. Security Editor
Security Editor 對話方塊
  1. Add Roles 對話方塊將開啟。通過在 Role name 框中輸入名稱 Admin 來建立名為 Admin 的安全性角色。
  2. 選擇 Add...,Admin 角色應該下移到較低的部分。
  3. 選擇 Finish。現在您擁有了一個安全性角色,您需要給其分配一些資源。
  4. Resources 部分中,選擇 Employees 資料夾並將其拖到 Admin 角色的上面。現在您應該看到資料夾和其中的檔案被分配給該角色。

圖 7. Security Roles
Security Roles 對話方塊
  1. 這基本上是建立安全性所需的所有內容。但是,我們要對 Security 約束做一些調整。

圖 8. HTTP 方法
HTTP 方法對話方塊
  • 選擇 AdminCollection 並選擇 HTTP 方法 —— 圖 8。
  • 只選擇 GetPost 方法。
  • 通過選擇安全性編輯器中的 Authentication 按鈕來設定 Authentication Method 型別。
  • 設定授權方法為 Basic
  • 您可以將域名設定為你希望的,或設定為空。選擇 OK

    要在 EAR 部署描述符中建立安全性角色,使用 Role Mapping 按鈕。如果您將完全的 WebSphere Application Server(任意版本)作為伺服器目標,那麼該按鈕將有效。如果您指定 Tomcat,那麼跳過此步驟。

  • 選擇 Role Mapping 按鈕。
  • 驗證羅列出了您之前建立的角色。
  • 選擇 Admin User 並選擇 Map User。在該對話方塊中,選擇 Map User to All Authenticated Users。這將允許系統中所有授權的使用者都可以訪問 Employees 資料夾中的頁面。
  • 選擇 OK。儲存安全性編輯器檔案。

    要調查:就將使用者對映為所有授權的使用者,或對映為每個人。

    (可選)驗證 EAR 部署描述符中已經建立了該角色:

  • 現在開啟 PVITWebEAR 資料夾中的 EAR 部署描述符。單擊 Security 選項卡。
  • 您應該看到名為 Admin 的角色。
  • 如果您單擊它,您應該看到 Websphere 繫結部分和使用者 Admin 中選擇了 Users/Group 核取方塊。

    在伺服器上開啟安全性:

    對於 WebSphere Application Server 使用者:

  • 這在伺服器配置編輯器中完成。開啟已經建立的伺服器的 伺服器配置編輯器。展開安全性部分。
  • 檢查該伺服器選項啟用了 Security,並輸入在您的機器上已存在的使用者名稱或密碼。
  • 替代使用 SOAP 選項,避免錯誤。
  • 儲存並關閉所有開啟的編輯器,並啟動伺服器。
  • 在伺服器上開啟安全性。
    1. 使用 WebSphere Application Server 文件來尋找如何完成,這裡是指導方針:
    2. 對於 WebSphere Application Server v6.0:
      • Global Security 選項卡上,啟動全球安全性,而不是 Java 2 安全性。使用 Local OS 作為使用者註冊。
      • 用您在伺服器配置中輸入的使用者的名字或密碼來設定 Local OS 使用者註冊
      • 儲存配置並重啟伺服器。
    3. 對於 WebSphere Application Server v6.1:
      • 使用 Security Configuration Wizard 來啟用管理安全性(沒有 Java 2 安全性)。使用 Local OS 作為使用者註冊,並在您的系統中指定使用者。
  1. 嘗試執行。當您訪問 web 部署描述符中指定的資料夾時,您應該會遇到授權的難題。

    注意:(linux)您必須以 root 角色執行。在 Info Center:
    UNIX 平臺上的 WebSphere Application Server 預設使用 root 使用者 ID 來執行 Application Servers。如果啟用了全球的安全性,那麼使用者註冊必須不是 Local OS。使用 Local OS 使用者註冊需要以 root 來執行 Application Server。

    對於 Tomcat 使用者的安全性:參見文章:http://www.ciol.com/content/developer/web_services/2006/106062201.asp

  2. 驗證在 Tomcat_install_dir\conf 目錄下存在名為 tomcat-users.xml 的檔案。您應該看到來自您系統的使用者名稱或密碼,它應該與之前指定的角色相匹配。
  3. 重啟 Tomcat 伺服器,以確保開啟了安全性。
  4. 就這樣!當您在伺服器上執行時,您應該會看到使用者名稱或密碼的提示。使用來自您系統的使用者名稱或密碼。

    注意:您在授權上遇到困難嗎?您遇到這些問題嗎?

  5. 在伺服器啟動時,您可以看到許多與“在驗證安全性配置值時出現異常”相關的錯誤。
  6. 您的控制檯停止工作了。
  7. 您用正確的使用者名稱和密碼登入了,但不允許您訪問該頁面。

    要解決這些

  8. 使用 SOAP 作為 Server Connection Type 和 admin 埠。
  9. 參見此技術文獻:http://www.ibm.com/support/docview.wss?uid=swg21198280。它將讓您安裝安全性所必須的 filetransferSecured.ear。

    注意:您需要使用 WAS CE 控制檯來啟用安全性。

轉變為使用頁面模板

此處的想法是讓站點看起來像使用了框架,除了現在利用頁面模板的情況。利用框架方法時利用的以下想法應該在頁面模板中繼續維持:

  1. 有一個在所有頁面都顯示的圖。
  2. 有一個在所有頁面都顯示的標題。
  3. 左手邊有一列頁面導航列表。

    在您的轉換過程中保持這些原則和以下的指導方針:

    利用 HTML 模板建立 Web 頁面模板。將其建立為設計時模板。它也應該包含:

  4. 自由佈局的表格
  5. 內容區域在頁面的右手邊。
  6. 左手邊中的列表與 menu.html 檔案有相同的內容。決定您是否想要使用導航欄(參見下面),或者僅僅編輯框架方法使用的專案列表。

    使用 Web Site Navigation 來決定哪些頁面需要應用模板。

  7. 開啟 .website-config 檔案
  8. 開啟 Newly Created Pages 窗格並將必要的頁面拖拽到 Web 站點導航欄上。
  9. 如果您已經選擇了,那麼現在您就可以向模板檔案新增導航欄了。
  10. 插入 palette, context menu, insert 選單中的 Web Site Navigation 分類中的導航欄
  11. 編輯所提供的導航欄(這些是 html 檔案),從而獲得您需要的導航欄結果。
  12. 利用文件和您對如何使用核心的 JSTL 標籤的瞭解(由於 siteedit 標籤複製了許多這些標籤)。
  13. 如果需要,參考此文件(navspec.html:在下載部分中獲取):

    將模板應用於所有頁面。

執行程式碼審查來驗證沒有違反任何安全性原則

本部分的目的是確保作為此場景一部分的,由工具生成的程式碼沒有違反關於 J2EE、J2SE、效能,等等,特別是新的安全性原則的任何最佳實踐或原則。

  1. Analysis 功能自動出現在 Java 和 Debug 透檢視中,但可以新增到任意透檢視中。要這樣,選擇 Windows >Customize Persepctive,選擇 Commands 選項卡,並單擊 Analysis ...... 如果需要就新增此功能。
  2. 在選單中,選擇 Run > Analysis
  3. 選擇 New 並建立新的 Configuration。在 Scope 選項卡上,選擇 Analyze selected projects 並選擇此場景中建立的每個工程。
  4. 選擇 Rules 選項卡,並選擇 Code Review for Java 核取方塊(通過選擇上層的 Code Review for Java 來選擇整個分支)。

圖 9. Analysis Configuration
包含一個圖的示例圖
  1. 單擊 Apply
  2. 單擊 Analyze
  3. Analysis Results 完成之後將顯示結果。選擇 Filter 圖示來選擇帶有結果的規則。

圖 10. Analysis
Code Analysis 對話方塊

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14780914/viewspace-588976/,如需轉載,請註明出處,否則將追究法律責任。

相關文章