將現有的靜態 Web 站點轉變為動態 Web 站點
此元件需要用 PVIT_STATIC 實現的 PVIT Web 站點的第一個部分。
- 來自 PVIT_STATIC 的結果的工件被儲存為工程交換壓縮檔案。
- 壓縮的 Project Interchange 檔案(PVIT_STATIC_RAD.zip)在 下載 部分中可以找到。
- 將該壓縮檔案作為 Project Interchange 匯入到您的工作區。應該匯入工程 PVIT。
- 一旦工程成為動態的工程,我們就可以開發與前端使用者互動的 servlet 了。
- 在環境選單中選擇 PVIT 並選擇 Static Web Project > Convert to a Dynamic Web Project 。
- 將 Web 版本設定為預設的 2.4。
- 單擊 OK 完成嚮導。
- 當完成遷移之後,開啟 Web 工程的屬性,並將執行時設定為以下其中一個:IBM® WebSphere® Application Server,IBM® WebSphere® Application Server CE,Tomcat 伺服器。
- 如果您要把此工程部署到 Tomcat 以外的伺服器上,那麼您需要建立 EAR 工程。
- 建立名為 PVITEAR 的新的 Enterprise Application Project,並將此 Web 工程新增為模組。
- 在 Servers 檢視中建立新的伺服器。
- Server Type:WebSphere Application Server,WebSphere Application Server CE,Tomcat server。
- 將 PVITEAR 新增到伺服器的 Configured Projects 中。完成嚮導。
- 在伺服器上執行工程,以確保正確地進行了轉換。
- 利用 Source Editor 對頁面修改所有出錯的連結。
- 在 Java Resources 中建立新的包:工程的 src 資料夾,稱為 com.ibm.mymail。
- 向 src/com.ibm.mymail 新增名為 MailServlet.java 的 Java 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
- activation.jar 可以在下載部分中獲得。它來自於 jaf-1.1。要自己下載 Java Activation Framework,您可以去 http://java.sun.com/products/javabeans/glasgow/jaf.html。
- 開啟 Web Deployment Descriptor,單擊 Servlets 選項卡,及 Add... 遵照這些準則:
- 選擇使用現有的 Servlet 類,選擇 Browse...,在 com.ibm.mymail 包中找到名為 MailServlet 的 servlet。
- 選擇 Next。
- 驗證名字為:MailServlet
- URL Mapping 是:/MailServlet
- 完成。儲存。檢視所有斷開的連結的來源,並隨需修復
圖 1. Servlet Creation
- 用名為 comment.html 的 HTML/XHTML 基本模板建立新的 Web 頁面,並在 teambuilding.html 頁面上新增一個到該頁的連結。
- 在 comment 頁面上,用圖 2 中的 header 建立一個表單。
圖 2. Comment Page Header
- 在表單中建立以下本文框。
圖 3. Form. Text 框
- 在 FORM. 標籤中新增 Submit Button。該按鈕將如圖 4 中原始碼所示。
圖 4. Submit Button
建立 SMTP 伺服器,用於電子郵件的傳送。
- 開啟 MailServlet.java,並改變以下值。
圖 5. Mail Servlet 更新
- 在伺服器上執行工程,並測試電子郵件 comment.html 頁面。
利用 J2EE 安全性模型向多個 Web 資源新增訪問限制。我們希望不被保護的頁面放在一個目錄下,而被保護的頁面放在另一個目錄下 —— 舉例來說,我們希望保護 Employee Information 頁面。
取代在 web.xml 和 EAR 部署描述符中提供安全性,我們利用 Rational Application Developer 7.0 的 Security Editor。
- 開啟 PVIT 的 Security Editor。如果這是您第一次開啟此編輯器,那麼您將看到一個問題,“您想要建立一個安全性角色嗎?”選擇 OK。
圖 6. Security Editor
- Add Roles 對話方塊將開啟。通過在 Role name 框中輸入名稱 Admin 來建立名為 Admin 的安全性角色。
- 選擇 Add...,Admin 角色應該下移到較低的部分。
- 選擇 Finish。現在您擁有了一個安全性角色,您需要給其分配一些資源。
- 在 Resources 部分中,選擇 Employees 資料夾並將其拖到 Admin 角色的上面。現在您應該看到資料夾和其中的檔案被分配給該角色。
圖 7. Security Roles
- 這基本上是建立安全性所需的所有內容。但是,我們要對 Security 約束做一些調整。
圖 8. HTTP 方法
- 選擇 AdminCollection 並選擇 HTTP 方法 —— 圖 8。
- 只選擇 Get 和 Post 方法。
- 通過選擇安全性編輯器中的 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 選項,避免錯誤。
- 儲存並關閉所有開啟的編輯器,並啟動伺服器。
- 在伺服器上開啟安全性。
- 使用 WebSphere Application Server 文件來尋找如何完成,這裡是指導方針:
- 對於 WebSphere Application Server v6.0:
- 在 Global Security 選項卡上,啟動全球安全性,而不是 Java 2 安全性。使用 Local OS 作為使用者註冊。
- 用您在伺服器配置中輸入的使用者的名字或密碼來設定 Local OS 使用者註冊。
- 儲存配置並重啟伺服器。
- 對於 WebSphere Application Server v6.1:
- 使用 Security Configuration Wizard 來啟用管理安全性(沒有 Java 2 安全性)。使用 Local OS 作為使用者註冊,並在您的系統中指定使用者。
- 嘗試執行。當您訪問 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
- 驗證在 Tomcat_install_dir\conf 目錄下存在名為 tomcat-users.xml 的檔案。您應該看到來自您系統的使用者名稱或密碼,它應該與之前指定的角色相匹配。
- 重啟 Tomcat 伺服器,以確保開啟了安全性。
- 就這樣!當您在伺服器上執行時,您應該會看到使用者名稱或密碼的提示。使用來自您系統的使用者名稱或密碼。
注意:您在授權上遇到困難嗎?您遇到這些問題嗎?
- 在伺服器啟動時,您可以看到許多與“在驗證安全性配置值時出現異常”相關的錯誤。
- 您的控制檯停止工作了。
- 您用正確的使用者名稱和密碼登入了,但不允許您訪問該頁面。
要解決這些
- 使用 SOAP 作為 Server Connection Type 和 admin 埠。
- 參見此技術文獻:http://www.ibm.com/support/docview.wss?uid=swg21198280。它將讓您安裝安全性所必須的 filetransferSecured.ear。
注意:您需要使用 WAS CE 控制檯來啟用安全性。
此處的想法是讓站點看起來像使用了框架,除了現在利用頁面模板的情況。利用框架方法時利用的以下想法應該在頁面模板中繼續維持:
- 有一個在所有頁面都顯示的圖。
- 有一個在所有頁面都顯示的標題。
- 左手邊有一列頁面導航列表。
在您的轉換過程中保持這些原則和以下的指導方針:
利用 HTML 模板建立 Web 頁面模板。將其建立為設計時模板。它也應該包含:
- 自由佈局的表格
- 內容區域在頁面的右手邊。
- 左手邊中的列表與 menu.html 檔案有相同的內容。決定您是否想要使用導航欄(參見下面),或者僅僅編輯框架方法使用的專案列表。
使用 Web Site Navigation 來決定哪些頁面需要應用模板。
- 開啟 .website-config 檔案
- 開啟 Newly Created Pages 窗格並將必要的頁面拖拽到 Web 站點導航欄上。
- 如果您已經選擇了,那麼現在您就可以向模板檔案新增導航欄了。
- 插入 palette, context menu, insert 選單中的 Web Site Navigation 分類中的導航欄
- 編輯所提供的導航欄(這些是 html 檔案),從而獲得您需要的導航欄結果。
- 利用文件和您對如何使用核心的 JSTL 標籤的瞭解(由於 siteedit 標籤複製了許多這些標籤)。
- 如果需要,參考此文件(navspec.html:在下載部分中獲取):
將模板應用於所有頁面。
本部分的目的是確保作為此場景一部分的,由工具生成的程式碼沒有違反關於 J2EE、J2SE、效能,等等,特別是新的安全性原則的任何最佳實踐或原則。
- Analysis 功能自動出現在 Java 和 Debug 透檢視中,但可以新增到任意透檢視中。要這樣,選擇 Windows >Customize Persepctive,選擇 Commands 選項卡,並單擊 Analysis ...... 如果需要就新增此功能。
- 在選單中,選擇 Run > Analysis
- 選擇 New 並建立新的 Configuration。在 Scope 選項卡上,選擇 Analyze selected projects 並選擇此場景中建立的每個工程。
- 選擇 Rules 選項卡,並選擇 Code Review for Java 核取方塊(通過選擇上層的 Code Review for Java 來選擇整個分支)。
圖 9. Analysis Configuration
- 單擊 Apply。
- 單擊 Analyze。
- Analysis Results 完成之後將顯示結果。選擇 Filter 圖示來選擇帶有結果的規則。
圖 10. Analysis
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14780914/viewspace-588976/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 前端靜態站點部署方案前端
- Gridsome 生成靜態站點基礎
- php網站首頁動態地址修改,如何將PHP網站首頁的動態地址改為靜態地址PHP網站
- Nuxtjs實現服務端渲染和靜態化站點UXJS服務端
- 將WordPress站點轉換為JoomlaOOM
- 基於React的SSG靜態站點渲染方案React
- 前後端,靜態網站和動態網站, 的理解後端網站
- 新手必會的靜態站點生成器——Gridsome
- [譯] 用 Workers 讓靜態網站動態化網站
- 使用 Hexo 為自己在 Github 上建一個靜態 Blog部落格 站點HexoGithub
- Web靜態資源加速Web
- 靜態點分治
- presto 轉換靜態catlog為動態catlogREST
- 如何打造一款靜態開源站點搭建工具
- Rust 的靜態網站生成器「GitHub 熱點速覽」Rust網站Github
- nuxt-generate 靜態站UX
- 網站偽靜態配置網站
- 網站靜態化思想網站
- QTcpServer實現web靜態資源服務QTTCPServerWeb
- [譯] 2018 年,如何選擇最好的靜態站點生成器
- c++ web框架實現之靜態反射實現C++Web框架反射
- Django+nginx+靜態網站DjangoNginx網站
- centos 監控web站點是否500 指令碼CentOSWeb指令碼
- Abp框架Web站點的安全性提升框架Web
- DEDE整站動態/靜態轉換
- 已有web網站變成appWeb網站APP
- 將HTML字元轉換為DOM節點並動態新增到文件中HTML字元
- 站點背景改變
- 建站利器 | 阿里巴巴上線靜態開源站點搭建工具 Docsite阿里
- 如何啟動極狐GitLab 靜態網站Pages功能Gitlab網站
- web動態驗證碼的實現Web
- 如何使用 Apache Web 伺服器配置多個站點ApacheWeb伺服器
- PbootCMS網站IIS偽靜態規則boot網站
- PbootCMS網站apache偽靜態規則boot網站Apache
- PbootCMS網站nginx偽靜態規則boot網站Nginx
- Serverless實踐-靜態網站託管Server網站
- docker容器中佈置靜態網站Docker網站
- Web靜態資源快取及優化Web快取優化
- web伺服器靜態資源下載Web伺服器