DB2 Everyplace JSP 支持架構
兩大核心組件:
- 微型 HTTP Web 服務器:基於 HTTP 1.1,接收瀏覽器請求、返回響應
- JSP 處理器:解析 JSP → 生成 Java 源碼 → 編譯執行,支援 JSP 1.1 規范子集
開發流程:Windows 工作站開發 → 測試 → 移植至移動設備 (Win32/WinCE/Pocket PC)。
支援的 JSP 標籤與隱式對象
| 類別 | 標籤/對象 | 說明 |
| 偽指令 | <%@ page ... %> | 屬性:language(必須 Java)、extends、import、contentType |
<%@ include file="..." %> | 靜態包含相對路徑文件 |
<%! declaration %> 腳本元素:聲明變量/方法 |
<% scriptlet %> / <%= expression %> 腳本片段/表達式 |
| 隱式對象 | request | MiniHttpRequest 請求對象 |
response | MiniHttpResponse 響應對象 |
out | PrintStream 輸出流 |
exception | Throwable 異常對象 |
in | BufferedReader (當前不可用) |
四大數據庫訪問自定義標籤 (標籤庫前綴 tsx:)
<!-- 1. 建立連接 -->
<tsx:dbconnect id="conn" driver="com.ibm.db2e.jdbc.DB2eDriver" url="jdbc:db2e:c:/sample/data/" />
<!-- 2. 查詢 -->
<tsx:dbquery id="q1" connection="conn" limit="100"> SELECT * FROM ITEM </tsx:dbquery>
<!-- 3. 修改 (INSERT/UPDATE/DELETE) -->
<tsx:dbmodify connection="conn"> INSERT INTO ITEM VALUES ('A1002', ...) </tsx:dbmodify>
<!-- 4. 迭代結果集 -->
<tsx:repeat index="row" start="0" stop="10">
<tsx:getProperty name="q1" property="ITEM_ID" /> ...
</tsx:repeat>
| 標籤 | 必填屬性 | 說明 |
| dbconnect | id, driver, url | url 格式 jdbc:db2e:<資料庫目錄> |
| dbquery | id, connection | 生成 ResultSet bean,可選 limit 限制行數 |
| dbmodify | connection | 執行 DML,支援動態參數 |
| repeat | - | 遍歷 ResultSet,index/start/stop 控制循環 |
| getProperty | name, property | name=dbquery 的 id,property=欄位名 |
示範應用:ITEM 表查看器
1. 建表腳本 (BuildDB.java → SetupDB.bat 執行)
CREATE TABLE ITEM (
ITEM_ID CHAR(10) PRIMARY KEY,
ITEM_NAME CHAR(50),
ITEM_DESC VARCHAR(200),
ITEM_PRICE DECIMAL(10,2),
ITEM_AVAILABLE CHAR(1)
);
INSERT INTO ITEM VALUES ('A1001','Think Pad','Config P4,256 SDRAM',25000,'Y');
運行後在 C:/sample/Data/ 生成資料庫文件。
2. JSP 頁面 (ITEMSelectView.jsp 關鍵片段)
<%@ page import="java.sql.*" contentType="text/html" %>
<tsx:dbconnect id="conn" url="jdbc:db2e:c:/sample/data/" driver="com.ibm.db2e.jdbc.DB2eDriver"/>
<tsx:dbquery connection="conn" id="Query1DBBean"> SELECT * FROM ITEM </tsx:dbquery>
<html><body><table border="1">
<tr><th>ID</th><th>Name</th><th>Desc</th><th>Price</th><th>Avail</th></tr>
<tsx:repeat index="i">
<tr>
<td><tsx:getProperty name="Query1DBBean" property="ITEM_ID"/></td>
<td><tsx:getProperty name="Query1DBBean" property="ITEM_NAME"/></td>
<td><tsx:getProperty name="Query1DBBean" property="ITEM_DESC"/></td>
<td><tsx:getProperty name="Query1DBBean" property="ITEM_PRICE"/></td>
<td><tsx:getProperty name="Query1DBBean" property="ITEM_AVAILABLE"/></td>
</tr>
</tsx:repeat>
</table></body></html>
Windows 工作站部署測試
- 編輯
DB2EVERYPLACE_LOCATION\Clients\JSP\WIN32\MiniHttpConfig.properties:JspPath=c:\\sample\\JSp
- 運行
runJSPServer.bat 啟動微型服務器
- 瀏覽器訪問
https://localhost/ITEMSelectView.jsp → 顯示編譯成功鏈接 → 點擊查看表格數據
Windows CE / Pocket PC 設備部署
- 設備安裝 J9 JVM 運行時
- 複製運行時庫至設備
\Windows 目錄:
DB2e.dll
db2ejdbc.dll
db2ejdbc.jar (來自 Clients\WinCE\database\ver\processor_type\ 及 jdbc\)
- 複製 JSP 運行時至設備根目錄:
miniJSP.jar
MiniHttpServer.lnk (來自 SDK\JSP\WINCE\)
- 複製
MiniHttpConfig.properties 至根目錄,修改 JspPath 指向設備上 JSP 目錄
- 在設備文件瀏覽器點擊
MiniHttpServer.lnk 啟動服務
- 創建目錄
\sample\data、\sample\JSP,分別複製 .class 與資料庫文件
- 設備瀏覽器訪問
https://localhost/ITEMSelectView.jsp 驗證
遷移提示
- 路徑分隔符:Windows 用雙反斜杠
\\\\,設備上用單正斜杠 /
- 處理器類型:複製 ARM/MIPS/SHx 對應版本的 DLL
- JSP 1.1 限制:無 JSTL/EL、無標籤庫擴展,複雜邏輯建議放入 Java Bean
- 上一篇文章: DB2 Everyplace 同步實戰:從 MDAC 配置到 Palm 模擬器端到端驗證
- 下一篇文章: WebSphere Studio Device Developer (WSDD) 開發 DB2 Everyplace V8.1 Palm OS MIDlet 實戰
Copyright ©
程式碼之家 All Rights Reserved