首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

使用 Rational Application Developer 與 Data Studio 快速構建安全的 Java Web 應用(第一部分)

     編輯:Java 相關知識

教學概覽

本教學系列共分兩部分,旨在示範如何利用 IBM Rational Application Developer、Data Studio 及 Rational AppScan,打造基於 Java 的安全 Web 應用程式。第一部分著重於使用 Rational Application Developer 的整合開發環境與 Data Studio 的 pureQuery 功能,快速建立一個以 Java 為基礎的財產管理應用系統;第二部分將介紹如何使用 Rational AppScan 掃描並修補安全漏洞。

先備條件與環境準備

所需軟體版本

  • Rational Application Developer 7.0.0.6(建議使用 IBM Installation Manager 安裝)
  • Data Studio 1.1.2(含 pureQuery 功能,僅此版本與 RAD 7.0.0.6 相容)
  • DB2 Express-C 作為資料庫伺服器

注意:兩工具必須安裝在同一個 Package Group 中,以確保相容性。安裝時請參考 IBM 官方文件確認版本對應關係。

安裝步驟摘要

  1. 先安裝 Rational Application Developer,建立新的 Package Group(例如「IBM Software Development Platform」)。
  2. 再安裝 Data Studio 1.1.2,選擇「Use the existing package group」並指向同一個 Package Group。
  3. 安裝 DB2 Express-C 並建立名為 WEALTH 的資料庫,手動插入測試資料至 USERS、SECURITIES、REALESTATE 三張表。

建立 pureQuery 動態 Web 專案

1. 建立資料庫連線

在 RAD 中切換至「資料」透視圖,右鍵點選「連線資料夾」→「新增連線」,選擇 DB2,資料庫名稱填 WEALTH,測試連線成功後完成。

2. 建立動態 Web 專案

  • 專案名稱:wealth
  • 目標伺服器:WebSphere Application Server V6.1
  • EAR 專案:勾選「Add project to an EAR」
  • Context Root:wealth

3. 加入 pureQuery 支援

右鍵專案 →「Add pureQuery Support」,全部選項勾選,選擇剛建立的 WEALTH 連線。

4. 準備必要的 JAR 檔

將以下 JAR 複製到 WebContent/WEB-INF/lib/ 目錄:

  • pdq.jar(pureQuery 執行期)
  • db2jcc.jar 及 db2jcc_license_cisuz.jar(DB2 JDBC 驅動)

在 RAD 中重新整理該目錄,並從建置路徑移除兩個 DB2 驅動 JAR(僅保留於部署用的 EAR 中)。

依資料表產生 pureQuery 程式碼

資料庫結構

表格主要欄位
USERSuserid (PK), password
SECURITIESautoid (PK), userid (FK), symbol, quantity, securitytype
REALESTATEautoid (PK), userid (FK), propertyValue, address, city, zip, state

產生步驟

  1. 在「資料來源瀏覽器」中展開 WEALTH 連線,右鍵各表格選擇「Generate pureQuery Code」。
  2. 來源資料夾指向專案的 src,套件名分別設為 com.ibm.ds.users、com.ibm.ds.securities、com.ibm.ds.realestate。
  3. 勾選「Generate test class」與「Include connection information」。
  4. Bean 欄位名稱保持預設,但 REALESTATE 表的 propertyvalue 改為 propertyValue 符合 Java 命名慣例。
  5. SQL 預處理選擇「Generate all SQL statements」。

完成後專案將新增四個套件,包含 Bean、Data 介面與實作類別。

擴充查詢功能

預設產生的查詢僅支援全表或主鍵查詢,需手動加入依使用者 ID 查詢的方法:

RealestateData.java 新增

@Select(sql="select AUTOID, PROPERTYVALUE, ADDRESS, CITY, ZIP, STATE, USERID from REALESTATE where USERID = ?")
Iterator<Realestate> getRealestates(String userid);

SecuritiesData.java 新增

@Select(sql="select AUTOID, USERID, SYMBOL, QUANTITY, SECURITYTYPE from SECURITIES where USERID = ?")
Iterator<Securities> getSecuritiess(String userid);

儲存後,對應的實作類別會自動更新。

建立 JSP 頁面

在 WebContent 下建立五個 JSP:login.jsp、welcome.jsp、logout.jsp、realestate.jsp、securities.jsp。

登入頁面 (login.jsp)

使用 <jsp:useBean> 引用 UsersDataImpl,透過 pureQuery 驗證帳密,成功則寫入 Session 並導向歡迎頁。

歡迎頁面 (welcome.jsp)

檢查 Session 中的 userid,顯示使用者名稱,提供「股票查詢」、「房產查詢」、「登出」連結。

登出頁面 (logout.jsp)

清除 Session 的 userid 並導回登入頁。

房產頁面 (realestate.jsp)

  • 顯示該使用者所有房產記錄於表格,並計算總價值。
  • 提供新增房產表單,呼叫 realestate.createRealestate() 寫入資料庫,成功後重導本頁更新列表。

證券頁面 (securities.jsp)

  • 查詢使用者持有的股票與期權。
  • 對每筆記錄透過 Yahoo! Finance API (https://finance.yahoo.com/d/quotes.csv) 取得即時股價與公司名稱。
  • 期權數量乘 100 計算總值,顯示於表格並加總。

部署至 WebSphere Application Server 測試

  1. 右鍵 login.jsp →「Run As」→「Run on Server」。
  2. 手動選擇 WebSphere v6.1 Server,使用預設設定。
  3. 在「Add and Remove」視窗加入 wealthEAR 專案。
  4. 啟動伺服器,瀏覽器開啟 https://localhost:9080/wealth/login.jsp。

測試帳號:tyler/tyler 或 hilbilly/pass,驗證登入、查詢房產、新增房產、查詢證券即時行情等功能。

總結與後續

本教學示範了從安裝工具、建立資料庫連線、產生 pureQuery 程式碼、擴充查詢、撰寫 JSP 到部署測試的完整流程。下一部分將引入 Rational AppScan 掃描應用程式安全漏洞並進行修補,敬請期待。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved