1、详细设计文档I目录第一章 引言 11.1 编写目的 11.2 背景 11.3 文档约定 11.4 参考资料 4第二章 程序系统的结构功能 52.1 系统目标和范围分析 52.1.1 整体目标 .62.1.2 项目范围 .72.1.3 功能要求 .7第三章 程序(标识符)设计说明 83.1 程序描述 83.2 功能模块 83.2.1 登陆模块 .83.2.2 管理员信息模块 .83.2.3 药品管理模块 .93.2.4 分类管理模块 .103.2.5 公告管理模块 .113.2.6 友情链接模块 .123.3 用户界面设计 .143.4 性能 .153.4.1 公共类的设计 .163.4.2 逻
2、辑业务层中涉及的 SQL 语句 .193.4.3 Java bean 的设计 203.4.4 ACTION 类的设计 .243.4.5 数据库操作类的设计 .273.4.6 STRUTS 业务控制器 293.5 输入项 .323.6 输出项 .323.7 算法 .323.8 流程逻辑 .333.9 接口 .343.10 注释设计 .353.11 限制条件 .353.12 测试计划 .353.12.1 引言 353.12.2 计划 363.12.3 测试设计说明 373.12.4 评价准则 373.13 尚未解决的问题 .370第一章 引言1.1 编写目的详细的说明整体系统的各项设计,包括功能模
3、块的详细描述(1)本设计欲达到的目标:要求满足用户系统的需求并且最大限度的按照软件工程方法实现系统,最大限度的实现扩展性,可维护性。(2)为实现上述目标,本系统软件在分析设计过程中,采用 uml 统一的描述系统,采用分层规划,分模块开发,团队合作的开发方式;对能够实现重用的部分开发成组件,必备重用。1.2 背景现在,科学技术的飞速发展把人类社会推向了一个崭新的时代信息时代。这已是无可争议的事实;信息对社会经济发展的巨大推动作用,使其与物质能源一起并列为现代社会的三大支柱,这已在全社会达到共识。而世界经济发展已进入一个激烈竞争的年代,可以说,谁先获得信息,谁就有可能抓住发展经济的机遇。同样,谁能
4、很好地管理和利用信息,谁就有可能占领市场,获得效益。国内外大量事实已说明:在目前这个激烈竞争的市场经济中,谁的信息管理现代化水平高,谁重视信息资源的开发和利用,谁就能抓住机遇,在竞争中取胜。现今,很多企业都有属于自己的信息发布网,他们把关于企业的最新发展都发布在网上,包括最新产品发布、最新技术发展以及企业的发展情况,增加企业透明度的从而更好的取信于消费者。这为消费者对企业的了解提供一个更方便、更快捷的途径。但是,现今针对于药店的信息发布系统还是比较缺乏的,基于这个原因,我们团队开发关于药店的信息发布系统。药店信息发布系统主要针对的是市场是的普通药店,所销售的也都是非处方药。本系统发布了药店所有
5、药品的信息、药店优惠活动以及有关药店的基本信息,方便消费到实体店内购买药品,系统有一个基本的导航作用,帮助消费者在最佳的时间内购买最好的药品,本系统为药店提供一个消费前期的服务,同时以最小的投入取得较大的广告宣传效果。1.3 文档约定用户:可以浏览本网站前台的所有信息。超级管理员:对整个系统拥有最大的权限,可增删改普通管理员的信息。普通管理员:可管理后台并修改自身信息。(注:系统的各种用户可以根据网站的发展和变化具体改变)用 例 图 是 被 称 为 参 与 者 的 外 部 用 户 所 能 观 察 到 的 系 统 功 能 的 模 型 图 , 呈 现 了 一些 参 与 者 和 一 些 用 例 ,
6、以 及 它 们 之 间 的 关 系 , 主 要 用 于 对 系 统 、 子 系 统 或 类 的 功 能行 为 进 行 建 模 。1用 例 图 展 示 了 用 例 之 间 以 及 同 用 例 参 与 者 之 间 是 怎 样 相 互 联 系 的 。 用 例 图 用 于对 系 统 、 子 系 统 或 类 的 行 为 进 行 可 视 化 , 使 用 户 能 够 理 解 如 何 使 用 这 些 元 素 , 并 使开 发 者 能 够 实 现 这 些 元 素 。类 图 (Class diagram)是 显 示 了 模 型 的 静 态 结 构 , 特 别 是 模 型 中 存 在 的 类 、 类 的内 部 结
7、构 以 及 它 们 与 其 他 类 的 关 系 等 。 类 图 不 显 示 暂 时 性 信 息 。类 图 (Class diagram)由 许 多 ( 静 态 ) 说 明 性 的 模 型 元 素 ( 例 如 类 、 包 和 它 们 之间 的 关 系 , 这 些 元 素 和 它 们 的 内 容 互 相 连 接 ) 组 成 。 类 图 可 以 组 织 在 ( 并 且 属 于 )包 中 , 仅 显 示 特 定 包 中 的 相 关 内 容 。类 图 (Class diagram)是 最 常 用 的 UML 图 , 显 示 出 类 、 接 口 以 及 它 们 之 间 的 静态 结 构 和 关 系 ; 它
8、 用 于 描 述 系 统 的 结 构 化 设 计 。类 图 (Class diagram)最 基 本 的 元 素 是 类 或 者 接 口 。类 图 通 常 包 含 如 下 的 内 容 : 类 、 接 口 、 协 作 、 关 系 , 同 其 他 的 图 一 样 , 类 图也 可 以 包 含 注 解 和 限 制 。类 图 中 也 可 以 包 含 包 和 子 系 统 , 这 两 者 用 来 将 元 素 分 组 。 有 时 后 你 也 可 以 将 类的 实 例 放 到 类 图 中 。注 : 组 件 图 和 分 布 图 和 类 图 类 似 , 虽 然 他 们 不 包 含 类 而 是 分 别 包 含 组
9、件 和 节 点 。你 通 常 通 过 下 面 三 种 方 式 使 用 类 图 :1、 为 系 统 词 汇 建 模 型为 系 统 的 词 汇 建 模 实 际 上 是 从 词 汇 表 中 发 现 类 , 发 现 它 的 责 任 。2、 模 型 化 简 单 的 协 作协 作 是 指 一 些 类 、 接 口 和 其 他 的 元 素 一 起 工 作 提 供 一 些 合 作 的 行 为 , 这 些 行 为不 是 简 单 地 将 元 素 加 能 得 到 的 。 例 如 : 当 你 为 一 个 分 布 式 的 系 统 中 的 事 务 处 理 过 程建 模 型 时 , 你 不 可 能 只 通 过 一 个 类 来
10、 明 白 事 务 是 怎 样 进 行 的 , 事 实 上 这 个 过 程 的 执行 涉 及 到 一 系 列 的 类 的 协 同 工 作 。 使 用 类 图 来 可 视 化 这 些 类 和 他 们 的 关 系 。3, 模 型 化 一 个 逻 辑 数 据 库 模 式想 象 模 式 是 概 念 上 设 计 数 据 库 的 蓝 图 。 在 很 多 领 域 , 你 将 想 保 存 持 久 性 数 据 到关 系 数 据 库 活 面 向 对 象 的 数 据 库 。 你 可 以 用 类 图 为 这 些 数 据 库 模 式 建 立 模 型 。1. 类 ( Class) 一 般 包 含 3 个 组 成 部 分 。
11、 第 一 个 是 类 名 ; 第 二 个 是 属 性 ( attributes) ; 第 三个 是 该 类 提 供 的 方 法 ( 类 的 性 质 可 以 放 在 第 四 部 分 ; 如 果 类 中 含 有 内 部 类 , 则 会出 现 第 五 个 组 成 部 分 ) 。 类 名 部 分 是 不 能 省 略 的 , 其 他 组 成 部 分 可 以 省 略 。类 名 书 写 规 范 : 正 体 字 说 明 类 是 可 被 实 例 化 的 , 斜 体 字 说 明 类 为 抽 象 类 。属 性 和 方 法 书 写 规 范 : 修 饰 符 描 述 信 息 属 性 、 方 法 名 称 参 数 : 返回
12、类 型 |类 型 属 性 和 方 法 之 前 可 附 加 的 可 见 性 修 饰 符 :加 号 ( +) 表 示 public; 减 号 ( -) 表 示 private; #号 表 示 protected; 省 略 这些 修 饰 符 表 示 具 有 package( 包 ) 级 别 的 可 见 性 。如 果 属 性 或 方 法 具 有 下 划 线 , 则 说 明 它 是 静 态 的 。2描 述 信 息 使 用 结 尾 。类 的 性 质 是 由 一 个 属 性 、 一 个 赋 值 方 法 和 一 个 取 值 方 法 组 成 。 书 写 方 式 和 方 法类 似 。2. 包 ( Package)
13、 包 是 一 种 常 规 用 途 的 组 合 机 制 。 UML 中 的 一 个 包 直 接 对 应 于 Java 中 的 一 个包 。 在 Java 中 , 一 个 包 可 能 含 有 其 他 包 、 类 或 者 同 时 含 有 这 两 者 。 进 行 建 模 时 ,通 常 使 用 逻 辑 性 的 包 , 用 于 对 模 型 进 行 组 织 ; 使 用 物 理 性 的 包 , 用 于 转 换 成 系 统 中的 Java 包 。 每 个 包 的 名 称 对 这 个 包 进 行 了 惟 一 性 的 标 识 。3. 接 口 ( Interface)接 口 是 一 系 列 操 作 的 集 合 , 它
14、 指 定 了 一 个 类 所 提 供 的 服 务 。 它 直 接 对 应 于Java 中 的 一 个 接 口 类 型 。 接 口 的 表 示 有 大 概 两 种 方 式 。 具 体 画 法 见 下 例 :4. 关 系常 见 的 关 系 有 : 一 般 化 关 系 ( Generalization) , 关 联 关 系 ( Association) ,聚 合 关 系 ( Aggregation) , 合 成 关 系 ( Composition) , 依 赖 关 系( Dependency) 。其 中 , 聚 合 关 系 ( Aggregation) , 合 成 关 系 ( Composition
15、) 属 于 关 联 关 系( Association) 。一 般 关 系 表 现 为 继 承 或 实 现 关 系 (is a), 关 联 关 系 表 现 为 变 量 (has a ), 依 赖关 系 表 现 为 函 数 中 的 参 数 (use a)。一 般 化 关 系 : 表 示 为 类 与 类 之 间 的 继 承 关 系 , 接 口 与 接 口 之 间 的 继 承 , 类 对 接口 的 实 现 关 系 。表 示 方 法 : 用 一 个 空 心 箭 头 实 线 , 箭 头 指 向 父 类 。 或 空 心 箭 头 虚 线 , 如果 父 类 是 接 口 。关 联 关 系 : 类 与 类 之 间
16、的 联 接 , 它 使 一 个 类 知 道 另 一 个 类 的 属 性 和 方 法 。表 示 方 法 : 用 实 线 箭 头 , 箭 头 指 向 被 使 用 的 类 。聚 合 关 系 : 是 关 联 关 系 的 一 种 , 是 强 的 关 联 关 系 。 聚 合 关 系 是 整 体 和 个 体 的 关系 。 关 联 关 系 的 两 个 类 处 于 同 一 层 次 上 , 啊 聚 合 关 系 两 个 类 处 于 不 同 的 层 次 , 一 个是 整 体 , 一 个 是 部 分 。表 示 方 法 : 空 心 菱 形 实 线 箭 头 , 箭 头 指 向 部 分 。合 成 关 系 : 是 关 联 关
17、系 的 一 种 , 是 比 聚 合 关 系 强 的 关 系 。 它 要 求 普 通 的 聚 合 关系 中 代 表 整 体 的 对 象 负 责 代 表 部 分 的 对 象 的 生 命 周 期 , 合 成 关 系 不 能 共 享 。表 示 方 法 : 实 心 菱 形 实 线 箭 头 ,依 赖 关 系 : 是 类 与 类 之 间 的 连 接 , 表 示 一 个 类 依 赖 于 另 一 个 类 的 定 义 。 例 如 如果 A 依 赖 于 B, 则 B 体 现 为 局 部 变 量 , 方 法 的 参 数 、 或 静 态 方 法 的 调 用 。表 示 方 法 : 虚 线 箭 头UML 的 类 图 是 E
18、-R 图 ( 为 逻 辑 数 据 库 建 模 的 通 用 工 具 ) 的 超 集 , 尽 管 E-R图 的 重 点 是 数 据 , 类 图 的 扩 展 允 许 模 型 化 行 为 。 在 物 理 数 据 库 中 这 些 逻 辑 操 作 一 半转 化 为 触 发 器 或 存 储 过 程 。3正 向 工 程 : 是 从 图 到 代 码 的 过 程 。 通 过 对 某 中 特 定 语 言 的 映 射 可 以 从 UML的 图 得 到 该 语 言 的 代 码 。 正 向 工 程 会 丢 失 信 息 , 这 是 因 为 UML 比 任 何 一 种 程 序语 言 的 语 义 都 丰 富 。 这 也 正 是
19、 为 什 么 你 需 要 UML 模 型 的 原 因 。 结 构 特 性 、 协 作 、交 互 等 可 以 通 过 UML 直 观 地 表 达 出 来 , 使 用 代 码 就 不 是 那 么 明 显 了 。反 向 工 程 : 反 向 工 程 是 从 代 码 到 模 型 的 过 程 。1.4 参考资料软件工程与软件文档写作 文斌 刘长青 田原著,清华大学出版社,北京交通大学出版社UML 系统建模与分析设计刁成嘉 编著 机械工业出版社4第二章 程序系统的结构2.1 系统目标和范围分析根据网上药店信息系统的业务要求,分为前台和后台两部分,得出系统包括以下各个模块:用户进入页面首页设为首页药品分类查询
20、药店信息新药展台特价药品时间查询友情链接药品搜索药品销售排行图 1-1 前台功能模块图5管理员登陆后台管理员设置药品设置公告设置药品数量查询友情设置查询小类别查询大类别查询商品查询安全退出图 1-2 后台功能模块图2.1.1 整体目标系统的整体目标是:利用互联网的信息化技术,结合实体药店的具体情况,建设一个覆盖全部药店信息的互联网网络系统。通过“网上药店信息系统” ,提高药店的信息共享水平,完善管理体系,提高员工素质,为消费者对药店的了解提供一个更方便、更快捷的途径。62.1.2 项目范围建成的“网上药店信息系统”分为前台页面浏览和后台信息管理模式,将包括登陆子系统、管理员信息子系统、药品管理
21、子系统、分类管理子系统、公告管理子系统、友情链接管理子系统共 6 个功能模块。2.1.3 功能要求登陆子系统:提供给管理员登陆后台。管理员信息子系统:供管理员在后台对基本信息进行操作。药品管理子系统:管理员可以添加、删除、查看药品详细信息,可设置特价药品。用户可按销售排行、新药展台和特价药品进行查询。分类管理子系统:管理员可按大类别和小类别进行增删改。用户只可按大类别查询。公告管理子系统:管理员对网站发布的公告进行添加、删除、查看。用户可查看本药店发布的公告信息。友情链接管理子系统:方便用户去其他各大网站搜索自己想要的药品及所需信息。7第三章 程序(标识符)设计说明从本章开始,逐个地给出各个层
22、次中的每个程序的设计考虑。以下给出的提纲是针对一般情况的。对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层 模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。3.1 程序描述开发(运行)环境:数据库:SQL server2000 ,服务器:tomcat5.5开发工具:Myeclipse+dreamvaver+photoshop开发语言:JSP、XML运行平台:Windows Win7/vista/Xp/Windows 2000显示像素:最低 800*600,最佳效果 1024*768。3.2 功能从本章开始我们将一起了解各模块的功能的描
23、述:3.2.1 登陆模块该模块主要用于管理员的登陆,根据用户特有的标志(例如:用户名和密码)来判断用户的角色。进入后有不同的表现层,实现的功能将有所不同。3.2.2 管理员信息模块对于不同角色的用户对应的权限不同超级管理员:拥有最大的权限,可添加、删除、查看普通管理员的信息,修改自己的登陆密码,同时信息在建立数据库时确定,不可删除;普通管理员:只可修改自己的登陆密码。8管 理 员 信 息超级管理员查询信息删除信息修改密码添加信息普通管理员图 1-3 管理员信息用例图3.2.3 药品信息模块对于不同角色的用户对应的权限不同管理员:可对药品信息进行维护,添加、删除、查询药品,还可以设置特价药品。用
24、户:可以多种方式对药品信息进行查询,按特价药品查询、按新品上架查询、9按销售排行查询、按药品分类查询,更可以按药品名和厂家进行搜索。药 品 信 息用户管理员药品信息维护i n c l u d ei n c l u d ei n c l u d ei n c l u d e药品信息删除设置特价药品药品信息添加药品信息查询药品分类查询销售排行查询新品上架查询特价药品查询按药品名搜索按厂家搜索图 1-4 药品信息用例图3.2.4 分类管理模块对于不同角色的用户对应的权限不同管理员:可对药品分类信息进行管理,添加、删除、查询大类别和小类别,还可以按小类别所属的大类别进行搜索查询。10用户:可按大类别进
25、行查询。分 类 管 理用户管理员大类别查询小类别查询添加大类别删除大类别添加小类别删除小类别所属大类别图 1-5 分类管理用例图3.2.5 公告管理模块对于不同角色的用户对应的权限不同管理员:可对药店发布的公告信息进行管理,添加、删除、查看以及修改详细的新闻公告信息。11用户:可以查看药店的公告信息。公 告用户管理员浏览公告添加公告修改公告删除公告图 1-6 公告管理用例图3.2.6 友情链接模块对于不同角色的用户对应的权限不同管理员:可对药店设置的友情链接进行管理,可以进行添加、删除、查看的操作。12用户:可以点击查看药店的友情链接,直接跳转至目的页面,方便用户查询所需信息的同时增加网站人气
26、。友 情 链 接用户管理员查询链接添加链接删除链接图 1-7 友情链接用例图133.3 界面设计图 1-8 系统首页 图 1-9 后台登陆页面 14图 1-10 后台管理页面3.4 性能易用性该网站登录界面清晰自然,简单而不失大方,既给用户一种清新的感觉,又便于操作;直观体现各类游客的查看需求,引导游客进行简便的药品查询以及详细信息查看等功能操作;精细、完美地设计每一个界面,清晰显示所有相关信息;系统可设置多种业务提醒功能,以便游客根据需要操作。灵活性系统具有管理员信息管理系统,可灵活设置管理员信息;可对管理员设置不同的权限,根据其权限在后台显示相应的管理模块;系统具有丰富的药品查询功能,分为
27、按药品类别查询、按新上市药品查询、查询特价药;系统为了方便游客有目的的查看药品信息,提供了药品搜索功能,搜索条件有:药品名称、药品厂家,搜索类型有:模糊查询、精确查询;具有数据代码的自定义功能;能够灵活在后台维护数据库。安全性系统提供多种安全加密模式,能够执行对数据表、数据库、操作功能的加密功能;15可设定用户对系统不同模块的不同级别的操作权限;建立日志文件,跟踪记录用户对系统每一次操作的详细情况;建立数据定期备份机制,并提供数据灾难恢复功能。专业性本体同时用 MVC 模式,即 模块+视图+控制器;具体实现:JavaBean+JspScripe+Serverlet 面向对象思想:数据库连接及操
28、作类,业务处理类,struts 业务控制器数据库连接及操作类( J D B C o n n e c t io n )业务控制器( A c t i o n )业务处理类(。 j a v a )调用调用调用 J D B C o n n e c t i o n 类和相应的 D a o . j a v a 类调用相应的业务处理类接收 J S P 页面请求图 1-11 关系图3.4.1 公共类的设计公共类是程序中经常用到的基础类,对这些类进行定义并封装在一个包中,在需要时只需导入其所在的包即可调用其中的方法在不同的业务逻辑类中实现相同的功能。数据库连接类:本系统数据库采用 Sql Server 2000
29、 ,在 sql 2000 中建立数据库 db_shopping ,在其中建立六个表,一个视图及一个存储过程。数据库连接类重要代码如下:public class JDBConnection 16private String dbDriver = “com.microsoft.jdbc.sqlserver.SQLServerDriver“; / 数据库的驱动private String url = “jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=db_shopping“; /URL 地址public Connection connect
30、ion = null;public JDBConnection() try Class.forName(dbDriver).newInstance(); / 加载数据库驱动connection = DriverManager.getConnection(url, “sa“, “); / 加载数据库 catch (Exception ex) System.out.println(“数据库加载失败“);上传图片文件处理类:后台对数据库的维护中对药品的添加是需要添加相应的图片,故需要对其所要上传的图片进行文件名的读取,其中本 web 程序需要导入文件上传的类包。public class Upload
31、File public String upload(String dir, FormFile formFile) throws Exception Date date = new Date();/ 取欲上传的文件的名字和长度String fname = formFile.getFileName();/ 将上传时间加入文件名int i = fname.indexOf(“.“);String name = String.valueOf(date.getTime();String type = fname.substring(i + 1);fname = name + “.“ + type;Inpu
32、tStream streamIn = formFile.getInputStream(); / 创建读取用户上传文件的对象File uploadFile = new File(dir); / 创建把上传数据写到目标文件的对象if (!uploadFile.exists() | uploadFile = null) / 判断指定路径是否存在,不存在则创建路径uploadFile.mkdirs();String path = uploadFile.getPath() + “/“ + fname;17OutputStream streamOut = new FileOutputStream(path
33、);int bytesRead = 0;byte buffer = new byte8192;while (bytesRead = streamIn.read(buffer, 0, 8192) != -1) streamOut.write(buffer, 0, bytesRead);streamOut.close();streamIn.close();formFile.destroy();return fname;获取系统时间类:在后台维护数据库public class CountTime public String currentlyTime() Date date = new Date()
34、;DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.FULL);return dateFormat.format(date);字符串自动处理类:public class SelfRequestProcessor extends RequestProcessor public SelfRequestProcessor() protected boolean processPreprocess(HttpServletRequest request,HttpServletResponse response) super.pro
35、cessPreprocess(request, response);try request.setCharacterEncoding(“gb2312“); catch (UnsupportedEncodingException ex) ex.printStackTrace();18return true;3.4.2 逻辑业务层中所涉及的 SQL 语句:对管理员的增删改查所涉及的语句为:Update tb_manager set password=? Where account=?(注:?为 占位符 在程序中需要对 prepareStatement 对象的?占位符进行赋值以实现对数据库的操作,下
36、同)Delete from tb_manager where id=?Select * from tb_manager order by id DESCInsert into tb_manager values (?,?,?,?)对药品大类别的查询、添加、删除中的 SQL 语句:Select * from tb_bigType where id=?Delete from tb_bigType where id=?Insert into tb_bigtype values (?,getDate() Select * from tb_bigType order by id DESC对公告信息的增删
37、改查:Delete from tb_affiche where id=?Update tb_affiche set name=?,count=? Where id=?Insert into tb_affiche values (?,?,getDate)select * from tb_affiche where id=?对药品小类别信息的操作:Select * from tb_smallType where bigId=?Delete from tb_smallType where id=?Update tb_smallType set bigId=?,smallName=? Where id
38、=?Insert into tb_smallType values (?,?,getDate() 对友情链接网站表的操作Delete from tb_link where id=?Insert into tb_link values(?,?)Select * from tb_link order by id DESC对药品表的增删改查所涉及的 SQL 语句:根据药品的 ID 修改购买药品的数量Update tb_goods set number=number+? Where id=?19设置特价价格的方法Update tb_goods set freePrice=?,mark=?,where
39、id=?以药品的是否特价为条件查询信息Select * from tb_goods where mark=? Order by id DESC添加药品Insert into tb_goods values (?,?,?,?,?,getDate,?,?,?,?,?)以药品编号为条件删除信息Delete from tb_goods where id=?以药品的编号为条件查询信息Select * from tb_goods where id=? Order by id DESC以药品的小类别的编号为条件查询信息Select * from tb_godds where smallId=? Order
40、by id DESC以药品的大类别的编号为条件查询信息Select * from tb_goods where bigId=? Order by id DESC全部查询Select * from tb_goods order by id DESC前台搜索功能中需要用到的语句String opname=“;String param=“;if(searchType.equals(“all“)opname=“ = “;param=sqlvalue;elseopname=“ like “;param=“%“+sqlvalue+“%“;String sql=“select *from tb_goods
41、where “+subsql+opname+“?“;Object params=param;/其中 searchType subsql sqlvalue 是从前台的表单中实例化 SousuoForm /所得3.4.3Java bean 的设计:用 Java bean 对数据库的表的进行封装,当应用 SQL 语句对表进行查询时, 当20视图层(jsp 页面)提交表单时,会触发一个动作,在内存中找到通过 web.xml 加载的 struts-config.xml 中 xxx.do 相应的 Action,并实例化 Form 表单, 对象实例将封装表的数据并将其装入容器或 request 对象中以供在
42、 JSP 页面中调用这些得到的符合要求的数据。如下为较完整的药品信息 bean:/药品 beanpublic class GoodsForm private Integer big;private String creaTime;private Float freePrice;private String from;private Integer id;private String introduce;private String name;private Float nowPrice;private Integer number;private Integer small;private S
43、tring priture;private Integer mark;private FormFile formFile;public Integer getBig() return big;public void setBig(Integer big) this.big = big;public String getCreaTime() return creaTime;public void setCreaTime(String creaTime) this.creaTime = creaTime;21public FormFile getFormFile() return formFile
44、;public void setFormFile(FormFile formFile) this.formFile = formFile;public Float getFreePrice() return freePrice;public void setFreePrice(Float freePrice) this.freePrice = freePrice;public String getFrom() return from;public void setFrom(String from) this.from = from;public Integer getId() return i
45、d;public void setId(Integer id) this.id = id;public String getIntroduce() return introduce;public void setIntroduce(String introduce) this.introduce = introduce;public Integer getMark() return mark;public void setMark(Integer mark) 22this.mark = mark;public String getName() return name;public void s
46、etName(String name) this.name = name;public Float getNowPrice() return nowPrice;public void setNowPrice(Float nowPrice) this.nowPrice = nowPrice;public Integer getNumber() return number;public void setNumber(Integer number) this.number = number;public String getPriture() return priture;public void s
47、etPriture(String priture) this.priture = priture;public Integer getSmall() return small;public void setSmall(Integer small) this.small = small;每个属性的 set 与 get 方法在 Eclipse 中用右键 -源代码-生成 getter 和 getter 很容易实现,如下的 java bean 只列出其属性。23公告信息 bean 属性private String content = “;private Integer id = new Integer
48、( -1);private String issueTime = “;private String name = “;public AfficheForm() public String getContent() 友情链接网站的 bean 属性 private Integer id = -1; / 数据库流水号private String linkAddress = “; / 连接地址private String linkName = “; / 连接名称药品大类别 bean 中属性private String bigName=“;private String creaTime=“;privat
49、e Integer id=Integer.valueOf(“-1“);管理员 bean 属性private String account=“;/管理员账号private Integer id=Integer.valueOf(“-1“);/数据库流水号private String name=“;/管理员名称private String password=“;/管理员登录密码private Integer sigh=Integer.valueOf(“-1“);/管理员标识( 1:是、0 否)药品小类别的 beanprivate Integer bigId=Integer.valueOf(“-1“);/药品大类别表的外键private String creaTime=“;/创建时间private Integer id=Integer.valueOf(“-1“);/数据库流水号private String smallN