分享
 
 
 

创建访问DB2Everyplace的JSP应用程序

王朝java/jsp·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

DB2 Everyplace 对 JSP 开发的支持

DB2 Everyplace 解决方案由下列组件构成:

数据库引擎:为移动设备设计的占用资源较少的关系数据库系统。

同步服务器:在移动设备上的 DB2 Everyplace 数据库和企业数据库之间移动数据的双向同步服务器。

移动应用程序构建器:一个用于创建在移动设备上运行的 DB2 Everyplace 应用程序的快速应用程序开发工具。

有关这些组件的更多信息,请参阅文章 使用 DB2 Everyplace 为 Palm 设备创建移动应用程序。

这个关系数据库引擎为关系数据提供持久存储并且提供使用 SQL 提供修改和检索记录的能力。可以用几种不同的方法访问 DB2 Everyplace 数据库中的数据,包括使用命令行处理器(Command Line Processor,CLP)发出 SQL 语句和使用将 ODBC 或 JDBC? 用作调用级接口的应用程序。

此外,DB2 Everyplace 还提供了用于数据库访问的 JSP 支持,可以将这种支持部署在提供了 Java? 运行时环境的移动设备上。

JSP 支持可用于下列操作系统:

Win32(Windows NT? 和 Windows 2000)

Windows CE/Pocket PC

使用 Java 创建 DB2 Everyplace 数据库表

为了演示 DB2 Everyplace 对 JSP 应用程序开发的支持,我在本文中包括了一个样本应用程序。

首先,我们将创建一个稍后将由 JSP 应用程序访问的 ITEM 表。ITEM 表包含每项物品的标识、描述、价格和可用性。

要创建 ITEM 表,将 sample-db2jsp.zip 文件解压缩到 c:\\directory,directory 代表您选择的任何目录。这将创建一个名为 sample 的文件夹。sample 目录中包含 BuildDB.java 和名为 SetupDB.bat 的批处理文件。

要创建数据库,修改 SetupDB.bat 以使 DB2EVERYPLACE_LOCATION 变量指向安装 DB2 Everyplace 的位置。当运行 SetupDB.bat 时,它会编译并运行 BuildDB.java 文件。

BuildDB 类将在目录 C:/sample/Data/ 中创建 ITEM 表。如果在运行该文件时发生错误,请确保为 DB2EVERYPLACE_LOCATION 设置的路径是正确的。

运行 SetupDB.bat 之后,会收到下列消息:

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 定制标记以及 JSP 支持的概述

DB2 Everyplace 中对 JSP 的支持由两个组件构成:

微型 HTTP Web 服务器

JSP 处理器

微型 HTTP Web 服务器使用 HTTP 1.1 协议接收来自 Web 浏览器的请求,并将响应发送回 Web 浏览器。JSP 处理器解析 JSP 文件,生成相应的 Java 源代码,然后编译该源代码。Java 源代码可能包含在 JSP 页面受到请求时生成动态内容的 Java Bean。当 JSP 页面受到请求时,微型 HTTP Web 服务器执行相应的 Java 代码,然后将输出作为对请求的响应发送回 Web 浏览器。

JSP 应用程序开发是在 Windows 工作站上完成的,然后移植到移动设备上。

DB2 Everyplace JSP 支持中提供的 JSP 标记

DB2 Everyplace 中的 JSP 标记是 JSP 1.1 规范的子集。可用于 JSP 开发的标记如下:

page 伪指令:

page 伪指令定义了依赖于页面的属性。语法如下:

<%@

page page_directive_attr_list %

page_directive_attr_list ::=

{language="scriptingLanguage"}

{extends="className" }

{import="importList" }

{contentType="ctinfo" }

这条伪指令的四个有效属性是:

language ― 必须是“java”。

extends ― 如果被指定,必须出现在 JSP 文件的开始处。缺省情况下,导入 com.ibm.db2e.jsp.server、java.io、java.sql 和 java.util 包。

import ― 如果被指定,必须出现在 JSP 文件的开始处。

contentType ― 可以是任何值(如 text/HTML、text/XML 等)。

include 伪指令

include 伪指令用来包含来自于 JSP/HTML 的数据。语法如下:

<%@ include file="relativeURLspec" %

脚本元素

脚本编制元素用来声明 JSP 页面中使用的 Java 变量和方法。语法如下:

<%! declaration(s) %

所支持的脚本编制元素如下:

scriptlet

scriptlet 可以包含任何有效(Java)代码段。这些代码段将被放到用于 JSP 页面的 Java 类的服务函数中。语法如下:

<% scriptlet %

表达式(expression)

表达式是数据类型的字符串表示。JSP 处理器在运行时对表达式求值,并将表达式转换成字符串。语法如下:

<%= expression %

隐式对象

当创建 JSP 页面时,我们具有对某些隐式对象的访问权。可以在 scriptlet 和表达式中使用这些对象,而不必首先声明它们。每个隐式对象都具有一个在核心 Java 技术或 com.ibm.db2e.jsp.server 包中定义的类。隐式对象的声明如表 1 所示。

表 1. 隐式对象

用于数据库访问的定制标记

可以在 JSP 应用程序中使用以下定制标记来访问 DB2 Everyplace 数据库:

<tsx:dbconnect

该标记使用 DB2 Everyplace JDBC 驱动程序建立与指定的 DB2 Everyplace 数据库的连接。语法如下:

<tsx:dbconnect

id="connection_id"

driver="com.ibm.db2e.jdbc.DB2eDriver"

url="jdbc:db2e:database"

</tsx:dbconnect

其中

id ― 指定此连接的标识符。不要在 JSP 页面中重用此名称。该属性是必需的。

driver ― 指定 DB2 Everyplace JDBC 驱动程序。该属性是必需的。

url ― 指定 DB2 Everyplace 数据库。jdbc:db2e:database 变量中的项 database 表示 DB2 Everyplace 数据库的路径。该属性是必需的。

<tsx:dbquery

此标记使用通过 <tsx:dbconnect 标记指定的连接将查询提交给数据库,并生成一个 java.sql.ResultSet 对象,在该对象中游标指向结果集的第一行。可以使用此查询的标识符和 java.sql.ResultSet 的 DB2 Everyplace JDBC 接口引用此结果集。语法如下:

<tsx:dbquery id="query_id" connection="connection_id" limit="value"

select_SQL_statement

</tsx:dbquery

其中

id ― 指定此查询的标识符。不要在 JSP 页面中重用此查询标识符。该属性是必需的。

connection ― 指定此 JSP 文件中 <tsx:dbconnect 标记的标识符。该属性是必需的。

limit ― 指定查询可以返回的最大行数。该属性是可选的。

select_SQL_statement ― 指定想要提交给数据库的 SQL 查询。此 SQL 查询语句可以包含动态数据。

<tsx:dbmodify

此标记使用通过 <tsx:dbconnect 标记指定的连接来提交命令,以修改数据库内的数据。语法如下:

<tsx:dbmodify connection="connection_id"

modify_command

</tsx:dbmodify

其中

connection ― 指定此 JSP 文件中 <tsx:dbconnect 标记的标识符。该属性是必需的。

modify_command ― 指定要提交到数据库以修改数据的 SQL 命令。此修改命令可以包含动态数据。

<tsx:repeat

此标记用来循环遍历查询结果中的每一行。start 和 stop 属性控制循环过程。如果未指定 start 和 stop 属性,当结果集的游标(通过 <tsx:getProperty 标记引用)到达结果集的末尾时循环终止。可以嵌套此标记。语法如下:

<tsx:repeat index="name" start="starting_index" stop="ending_index"

repeat_block

</tsx:repeat

其中

index ― 指定此标记的循环变量的标识符。该属性是可选的。

start ― 指定处理重复块之前要跳过的行数。缺省值为 0,该属性是可选的。

stop ― 指定此重复块的结束循环变量值。缺省值是 2,147,483,647。该属性是可选的。

repeat_block ― 指定 HTML 标记块,其中包含 <tsx:getProperty 标记语法和用于格式化内容的 HTML 标记。如果将 <tsx:getProperty 标记放置在重复块中,游标在每次处理重复块时都会进到下一行。

<tsx:getProperty

此标记获取要在 JSP 页(HTML 结果页)中显示的 ResultSet bean 的值。如果将此标记放置在 <tsx:repeat 重复块内,ResultSet bean 的游标在每次处理重复块时会进到下一行。语法如下:

<tsx:getProperty name="bean_name"

property="property_name" /

其中

name(必需)― 指定先前在该 JSP 文件的 <tsx:dbquery 标记中声明的 ResultSet bean 的名称。

property(必需)― 指定要访问的 ResultSet bean 的列。

有了这些信息,我们就可以着手构建 JSP 应用程序了,它将访问我们先前创建的 DB2 Everyplace 表。

构建 JSP 应用程序

先前解压缩得到的文件夹 c:\\sample\\jsp 包含 ITEMSelectView.j

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有