a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁(yè) > 編程 > JSP > 正文

創(chuàng)建訪問DB2 Everyplace的JSP應(yīng)用程序

2024-09-05 00:20:06
字體:
供稿:網(wǎng)友

最大的網(wǎng)站源碼資源下載站,

  db2 everyplace 對(duì) jsp 開發(fā)的支持
  db2 everyplace 解決方案由下列組件構(gòu)成:
  
  數(shù)據(jù)庫(kù)引擎:為移動(dòng)設(shè)備設(shè)計(jì)的占用資源較少的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。
  同步服務(wù)器:在移動(dòng)設(shè)備上的 db2 everyplace 數(shù)據(jù)庫(kù)和企業(yè)數(shù)據(jù)庫(kù)之間移動(dòng)數(shù)據(jù)的雙向同步服務(wù)器。
  移動(dòng)應(yīng)用程序構(gòu)建器:一個(gè)用于創(chuàng)建在移動(dòng)設(shè)備上運(yùn)行的 db2 everyplace 應(yīng)用程序的快速應(yīng)用程序開發(fā)工具。
  有關(guān)這些組件的更多信息,請(qǐng)參閱文章 使用 db2 everyplace 為 palm 設(shè)備創(chuàng)建移動(dòng)應(yīng)用程序。
  
  這個(gè)關(guān)系數(shù)據(jù)庫(kù)引擎為關(guān)系數(shù)據(jù)提供持久存儲(chǔ)并且提供使用 sql 提供修改和檢索記錄的能力。可以用幾種不同的方法訪問 db2 everyplace 數(shù)據(jù)庫(kù)中的數(shù)據(jù),包括使用命令行處理器(command line processor,clp)發(fā)出 sql 語(yǔ)句和使用將 odbc 或 jdbc? 用作調(diào)用級(jí)接口的應(yīng)用程序。
  
  此外,db2 everyplace 還提供了用于數(shù)據(jù)庫(kù)訪問的 jsp 支持,可以將這種支持部署在提供了 java? 運(yùn)行時(shí)環(huán)境的移動(dòng)設(shè)備上。
  
  jsp 支持可用于下列操作系統(tǒng):
  
  win32(windows nt? 和 windows 2000)
  windows ce/pocket pc
  使用 java 創(chuàng)建 db2 everyplace 數(shù)據(jù)庫(kù)表
  
  為了演示 db2 everyplace 對(duì) jsp 應(yīng)用程序開發(fā)的支持,我在本文中包括了一個(gè)樣本應(yīng)用程序。
  
  首先,我們將創(chuàng)建一個(gè)稍后將由 jsp 應(yīng)用程序訪問的 item 表。item 表包含每項(xiàng)物品的標(biāo)識(shí)、描述、價(jià)格和可用性。
  
  要?jiǎng)?chuàng)建 item 表,將 sample-db2jsp.zip 文件解壓縮到 c://directory,directory 代表您選擇的任何目錄。這將創(chuàng)建一個(gè)名為 sample 的文件夾。sample 目錄中包含 builddb.java 和名為 setupdb.bat 的批處理文件。
  
  要?jiǎng)?chuàng)建數(shù)據(jù)庫(kù),修改 setupdb.bat 以使 db2everyplace_location 變量指向安裝 db2 everyplace 的位置。當(dāng)運(yùn)行 setupdb.bat 時(shí),它會(huì)編譯并運(yùn)行 builddb.java 文件。
  
  builddb 類將在目錄 c:/sample/data/ 中創(chuàng)建 item 表。如果在運(yùn)行該文件時(shí)發(fā)生錯(cuò)誤,請(qǐng)確保為 db2everyplace_location 設(shè)置的路徑是正確的。
  
  運(yùn)行 setupdb.bat 之后,會(huì)收到下列消息:
  
        table: item created
        results from table item :
  
  item_id: a1001
  item_name: think pad
  item_desc : configuration p4,256 sdram.
  item_price : $25000.
  item_available: y
  
  db2 everyplace 定制標(biāo)記以及 jsp 支持的概述
  
  db2 everyplace 中對(duì) jsp 的支持由兩個(gè)組件構(gòu)成:
  
  微型 http web 服務(wù)器
  jsp 處理器
  微型 http web 服務(wù)器使用 http 1.1 協(xié)議接收來自 web 瀏覽器的請(qǐng)求,并將響應(yīng)發(fā)送回 web 瀏覽器。jsp 處理器解析 jsp 文件,生成相應(yīng)的 java 源代碼,然后編譯該源代碼。java 源代碼可能包含在 jsp 頁(yè)面受到請(qǐng)求時(shí)生成動(dòng)態(tài)內(nèi)容的 java bean。當(dāng) jsp 頁(yè)面受到請(qǐng)求時(shí),微型 http web 服務(wù)器執(zhí)行相應(yīng)的 java 代碼,然后將輸出作為對(duì)請(qǐng)求的響應(yīng)發(fā)送回 web 瀏覽器。
  
  jsp 應(yīng)用程序開發(fā)是在 windows 工作站上完成的,然后移植到移動(dòng)設(shè)備上。
  
  db2 everyplace jsp 支持中提供的 jsp 標(biāo)記
  db2 everyplace 中的 jsp 標(biāo)記是 jsp 1.1 規(guī)范的子集。可用于 jsp 開發(fā)的標(biāo)記如下:
  
  page 偽指令:
  page 偽指令定義了依賴于頁(yè)面的屬性。語(yǔ)法如下:
  
    <%@
     page page_directive_attr_list %>
     page_directive_attr_list ::=
     {language="scriptinglanguage"}
     {extends="classname" }
     {import="importlist" }
     {contenttype="ctinfo" }
  
  這條偽指令的四個(gè)有效屬性是:
  
  language — 必須是“java”。
  extends — 如果被指定,必須出現(xiàn)在 jsp 文件的開始處。缺省情況下,導(dǎo)入 com.ibm.db2e.jsp.server、java.io、java.sql 和 java.util 包。
  import — 如果被指定,必須出現(xiàn)在 jsp 文件的開始處。
  contenttype — 可以是任何值(如 text/html、text/xml 等)。
  include 偽指令
  include 偽指令用來包含來自于 jsp/html 的數(shù)據(jù)。語(yǔ)法如下:
  
   <%@ include file="relativeurlspec" %>
  
  腳本元素
  腳本編制元素用來聲明 jsp 頁(yè)面中使用的 java 變量和方法。語(yǔ)法如下:
  
   <%! declaration(s) %>
  
  所支持的腳本編制元素如下:
  
  scriptlet
  scriptlet 可以包含任何有效(java)代碼段。這些代碼段將被放到用于 jsp 頁(yè)面的 java 類的服務(wù)函數(shù)中。語(yǔ)法如下:
  
  <% scriptlet %>
  表達(dá)式(expression)
  表達(dá)式是數(shù)據(jù)類型的字符串表示。jsp 處理器在運(yùn)行時(shí)對(duì)表達(dá)式求值,并將表達(dá)式轉(zhuǎn)換成字符串。語(yǔ)法如下:
  
  <%= expression %>
  隱式對(duì)象
  當(dāng)創(chuàng)建 jsp 頁(yè)面時(shí),我們具有對(duì)某些隱式對(duì)象的訪問權(quán)。可以在 scriptlet 和表達(dá)式中使用這些對(duì)象,而不必首先聲明它們。每個(gè)隱式對(duì)象都具有一個(gè)在核心 java 技術(shù)或 com.ibm.db2e.jsp.server 包中定義的類。隱式對(duì)象的聲明如表 1 所示。
  
  
表 1. 隱式對(duì)象

  
 

  用于數(shù)據(jù)庫(kù)訪問的定制標(biāo)記
  可以在 jsp 應(yīng)用程序中使用以下定制標(biāo)記來訪問 db2 everyplace 數(shù)據(jù)庫(kù):
  
  <tsx:dbconnect>
  該標(biāo)記使用 db2 everyplace jdbc 驅(qū)動(dòng)程序建立與指定的 db2 everyplace 數(shù)據(jù)庫(kù)的連接。語(yǔ)法如下:
  
  <tsx:dbconnect
  id="connection_id"
  driver="com.ibm.db2e.jdbc.db2edriver"
  url="jdbc:db2e:database">
  </tsx:dbconnect>
  
  其中
  
  id — 指定此連接的標(biāo)識(shí)符。不要在 jsp 頁(yè)面中重用此名稱。該屬性是必需的。
  driver — 指定 db2 everyplace jdbc 驅(qū)動(dòng)程序。該屬性是必需的。
  url — 指定 db2 everyplace 數(shù)據(jù)庫(kù)。jdbc:db2e:database 變量中的項(xiàng) database 表示 db2 everyplace 數(shù)據(jù)庫(kù)的路徑。該屬性是必需的。
  <tsx:dbquery>
  此標(biāo)記使用通過 <tsx:dbconnect> 標(biāo)記指定的連接將查詢提交給數(shù)據(jù)庫(kù),并生成一個(gè) java.sql.resultset 對(duì)象,在該對(duì)象中游標(biāo)指向結(jié)果集的第一行。可以使用此查詢的標(biāo)識(shí)符和 java.sql.resultset 的 db2 everyplace jdbc 接口引用此結(jié)果集。語(yǔ)法如下:
  
  <tsx:dbquery id="query_id" connection="connection_id" limit="value">
  select_sql_statement
  </tsx:dbquery>
  
  其中
  
  id — 指定此查詢的標(biāo)識(shí)符。不要在 jsp 頁(yè)面中重用此查詢標(biāo)識(shí)符。該屬性是必需的。
  connection — 指定此 jsp 文件中 <tsx:dbconnect> 標(biāo)記的標(biāo)識(shí)符。該屬性是必需的。
  limit — 指定查詢可以返回的最大行數(shù)。該屬性是可選的。
  select_sql_statement — 指定想要提交給數(shù)據(jù)庫(kù)的 sql 查詢。此 sql 查詢語(yǔ)句可以包含動(dòng)態(tài)數(shù)據(jù)。
  <tsx:dbmodify>
  此標(biāo)記使用通過 <tsx:dbconnect> 標(biāo)記指定的連接來提交命令,以修改數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù)。語(yǔ)法如下:
  
  <tsx:dbmodify connection="connection_id">
  modify_command
  </tsx:dbmodify>
  
  其中
  
  connection — 指定此 jsp 文件中 <tsx:dbconnect> 標(biāo)記的標(biāo)識(shí)符。該屬性是必需的。
  modify_command — 指定要提交到數(shù)據(jù)庫(kù)以修改數(shù)據(jù)的 sql 命令。此修改命令可以包含動(dòng)態(tài)數(shù)據(jù)。
  <tsx:repeat>
  此標(biāo)記用來循環(huán)遍歷查詢結(jié)果中的每一行。start 和 stop 屬性控制循環(huán)過程。如果未指定 start 和 stop 屬性,當(dāng)結(jié)果集的游標(biāo)(通過 <tsx:getproperty> 標(biāo)記引用)到達(dá)結(jié)果集的末尾時(shí)循環(huán)終止。可以嵌套此標(biāo)記。語(yǔ)法如下:
  
  <tsx:repeat index="name" start="starting_index" stop="ending_index">
  repeat_block
  </tsx:repeat>
  
  其中
  
  index — 指定此標(biāo)記的循環(huán)變量的標(biāo)識(shí)符。該屬性是可選的。
  start — 指定處理重復(fù)塊之前要跳過的行數(shù)。缺省值為 0,該屬性是可選的。
  stop — 指定此重復(fù)塊的結(jié)束循環(huán)變量值。缺省值是 2,147,483,647。該屬性是可選的。
  repeat_block — 指定 html 標(biāo)記塊,其中包含 <tsx:getproperty> 標(biāo)記語(yǔ)法和用于格式化內(nèi)容的 html 標(biāo)記。如果將 <tsx:getproperty> 標(biāo)記放置在重復(fù)塊中,游標(biāo)在每次處理重復(fù)塊時(shí)都會(huì)進(jìn)到下一行。
  <tsx:getproperty>
  此標(biāo)記獲取要在 jsp 頁(yè)(html 結(jié)果頁(yè))中顯示的 resultset bean 的值。如果將此標(biāo)記放置在 <tsx:repeat> 重復(fù)塊內(nèi),resultset bean 的游標(biāo)在每次處理重復(fù)塊時(shí)會(huì)進(jìn)到下一行。語(yǔ)法如下:
  
   <tsx:getproperty name="bean_name"
   property="property_name" />
  
  其中
  
  name(必需)— 指定先前在該 jsp 文件的 <tsx:dbquery> 標(biāo)記中聲明的 resultset bean 的名稱。
  property(必需)— 指定要訪問的 resultset bean 的列。
  有了這些信息,我們就可以著手構(gòu)建 jsp 應(yīng)用程序了,它將訪問我們先前創(chuàng)建的 db2 everyplace 表。
  
  構(gòu)建 jsp 應(yīng)用程序
  
  
  先前解壓縮得到的文件夾 c://sample//jsp 包含 itemselectview.jsp 文件,這是我們的應(yīng)用程序。itemselectview.jsp 應(yīng)用程序顯示 item 表中存在的所有項(xiàng)。itemselectview.jsp 利用了先前討論的 jsp 標(biāo)記。
  
  讓我們著手分析一些重要的代碼片段。首先我們將創(chuàng)建數(shù)據(jù)庫(kù)連接。
  
   <tsx:dbconnect
   id="conn"
   url="jdbc:db2e:c:/sample/data/"
   driver="com.ibm.db2e.jdbc.db2edriver">
   </tsx:dbconnect>
  
  我們?cè)谶@里指定的 url 是數(shù)據(jù)庫(kù)的位置,在本例中是 c:/sample/data/。
  
  我們通過使用下面所示的 <tsx:dbquery> 標(biāo)記執(zhí)行 sql 查詢:
  
  <tsx:dbquery connection="conn" id="query1dbbean">
     select * from item
  </tsx:dbquery>
  
  然后,我們用下面所示的 <tsx:getproperty> 檢索數(shù)據(jù)庫(kù)查詢的結(jié)果:
  
  <tsx:getproperty name="query1dbbean" property="item_id" />
  
  這會(huì)從 item_id 列中檢索值。該技術(shù)對(duì)于我們希望檢索的其余列同樣有效。
  
  接下來,我們將著手部署 jsp。
  
  部署和測(cè)試 jsp
  可以用 db2 everyplace 提供的微型 http web 服務(wù)器在 windows 工作站上測(cè)試所開發(fā)的應(yīng)用程序。在 windows 上采用下列步驟測(cè)試您的應(yīng)用程序:
  
  瀏覽至 db2everyplace_location//clients//jsp//win32。編輯文件 minihttpconfig.properties,并修改 jsppath= c:////sample////jsp 項(xiàng)使其指向您的 jsp 文件的位置。
  執(zhí)行 runjspserver.bat 文件以執(zhí)行 minihttpserver。
  打開瀏覽器并輸入 http://localhost/itemselectview.jsp。您將收到下列消息,它表明 jsp 處理器已經(jīng)成功編譯了我們的 jsp 文件。單擊 itemselectview.jsp 文件以查看結(jié)果。
  
    db2 everyplace jsp compiler
  
   jsp page: c://sample//jsp//itemselectview.jsp
     parsing ...
     compiling ...
     done.
   try it: itemselectview.jsp
  出現(xiàn)以下屏幕(圖 1),它顯示了 item 表中的數(shù)據(jù)。
  
  
圖 1. jsp 結(jié)果

  

  接下來我們將著手在 windows ce 設(shè)備上部署該應(yīng)用程序。
  
  在 windows ce 設(shè)備上部署應(yīng)用程序
  
  在工作站上開發(fā)了 jsp 應(yīng)用程序之后,只需將應(yīng)用程序的類文件和用于執(zhí)行 jsp 的微型 http web 服務(wù)器一起復(fù)制到移動(dòng)設(shè)備上。
  
  下列步驟可以用于在 windows ce 設(shè)備上部署該應(yīng)用程序(或任何 jsp 應(yīng)用程序)。
  
  下載并安裝用于移動(dòng)設(shè)備的 j9 jvm 運(yùn)行時(shí)環(huán)境。
  將下列文件從開發(fā)工作站復(fù)制到移動(dòng)設(shè)備的 windows 目錄:
  db2everyplace_location //clients//wince//database//ver//processor_type//db2e.dll
  db2everyplace_location //clients//wince//database//ver//processor_type//db2ejdbc.dll
  db2everyplace_location//clients//wince//database//jdbc//db2ejdbc.jar
  
  其中 processor_type 是設(shè)備的處理器類型,ver 是設(shè)備的版本類型。
  
  將下列文件從 db2everyplace_location//sdk//jsp//wince 復(fù)制到設(shè)備的根目錄。
  
      minijsp.jar
      minihttpserver.lnk
  
  將文件 minihttpconfig.properties 從 db2everyplace_location//clients//jsp//win32 復(fù)制到設(shè)備的根目錄。
  
  打開 file explorer 并單擊根目錄中的 minihttpserver 快捷方式以啟動(dòng) minihttpserver 服務(wù)器。
  創(chuàng)建下列目錄:
  sample//data
  sample//jsp
  
  并將 c://sample//jsp 中的 *.class 復(fù)制到設(shè)備上的 sample//jsp,并將 c://sample//data 中的所有文件復(fù)制到設(shè)備上的 sample//data 中。
  
  在 web 瀏覽器中輸入下列 url:
  http://localhost/itemselectview.jsp
  
  您應(yīng)該看到一個(gè)包含了 item_ desc 值的表。
  
  結(jié)束語(yǔ)
  在本文中,我們成功地創(chuàng)建和部署了一個(gè) jsp 應(yīng)用程序,它訪問存儲(chǔ)在 db2 everyplace 數(shù)據(jù)庫(kù)中的數(shù)據(jù)。我們還完成了在 windows ce 設(shè)備上部署應(yīng)用程序的步驟。可以進(jìn)一步使用這些知識(shí)來開發(fā)用于 windows ce/pocket pc 設(shè)備的復(fù)雜 jsp 應(yīng)用程序。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美成在线观看 | 黄色网亚洲 | www久久久久久久 | 欧美日韩亚洲国产 | 免费av毛片 | 亚洲一区二区三区精品视频 | 一区二区日韩在线观看 | av免费网站在线观看 | 久久精品一区二区三区四区 | 久久国产精品一区 | 欧美xxxx色视频在线观看免费 | 九一视频在线免费观看 | 人人草人人看 | 久久国产一区二区 | 男人的午夜 | 黄色片在线免费看 | 一本色道久久综合狠狠躁篇的优点 | 亚洲一区 中文字幕 | 日韩中文字幕av | 一区二区中文 | www夜夜操com| 欧美精品久久一区 | 日韩中文字幕第一页 | 精品欧美一区二区三区久久久 | 日韩亚洲一区二区 | 精品一区二区三区免费看 | 精品视频久久 | 老司机福利在线观看 | 亚洲成人另类 | 在线a级| 逼逼av| 在线观看黄色av网站 | 天堂va久久久噜噜噜久久va | 亚洲视频手机在线 | 国产91 在线播放 | 日本高清一区 | 天天躁日日躁狠狠躁av麻豆 | 国产精品色一区二区三区 | 中文字幕在线欧美 | 狠狠色综合网站久久久久久久 | 亚洲综合成人网 |