课程设计 J2ME图书馆无线辅助管理系统_第1页
课程设计 J2ME图书馆无线辅助管理系统_第2页
课程设计 J2ME图书馆无线辅助管理系统_第3页
课程设计 J2ME图书馆无线辅助管理系统_第4页
课程设计 J2ME图书馆无线辅助管理系统_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、j2mej2me 课程设计报告课程设计报告 j2mej2me 图书馆无线辅助管理系统图书馆无线辅助管理系统 专专 业:业: 班班 级:级: 组组 号:号: 指导教师:指导教师: 二二 0000 九年九年 月月 日日 j2mej2me 图书馆无线辅助管理系统图书馆无线辅助管理系统 摘摘 要要 随着 3g 时代的到来,3g 无线网络规模逐渐扩大,移动电子通讯设备将不 仅仅只是打电话和发短信的工具,届时将会有更多的更丰富的移动应用程序应 用在移动电子通讯设备的终端上,而移动商务以及移动办公作为 3g 无线网络 传输应用的重要分支,将会广泛地流行起来。 本系统为图书馆文献查询辅助系统(手机客户端) ,

2、使用 c/s 结构,实现了 无线网络传输 http 协议、udp 传输协议、以及套接字传输协议。本文完整地 描述了在 eclipse 平台应用 j2me 技术,利用 tomcat 服务器,使用 oracle 数 据库,开发本手机软件的过程。其中主要涉及的技术有java servlet 技术、java socket 技术等。第一章介绍了系统背景,使用的开发平台及主要技术,对论文中 术语的约定;第二章介绍了系统需求及系统的设计方案;第三章介绍了系统具 体实现,并描述一些关键性技术和核心模块的设计;第四章介绍了对本系统进 行的测试及测试结果。 关键词:关键词:j2me;无线网络传输;gcf;http

3、;移动图书馆 目目 录录 论文总页数:42 页 1引言.1 1.1系统背景 .1 1.2开发平台 .1 1.2.1eclipse.1 1.2.2eclipse me.2 1.2.3proguard.2 1.2.4tomcat.3 1.2.5oracle 10g.3 1.2.6rational rose.3 1.3主要技术 .4 1.3.1j2me 技术.4 1.3.2gcf 框架.5 1.3.3rsm.5 1.3.4mvc.5 1.3.5javabean 技术.6 1.3.6java servlet 技术.6 1.3.7java socket 技术.7 1.4术语与缩写解释 .7 2需求分析及

4、项目方案.8 2.1目标 .8 2.2假定和约束 .8 2.3需求规定 .8 2.3.1对新能的规定.8 2.3.2对性能的规定.8 2.3.3输入输出要求.9 2.4数据结构及表的定义 .9 2.5运行环境规定 .13 2.5.1设备.13 2.5.2支持软件.13 3项目设计及开发.14 3.1整体框架 .14 3.1.1系统总体结构图.14 3.1.2系统总体流程图.15 3.2程序核心功能 .15 3.2.1 读者信息查询(借阅查询).15 3.2.2读者信息查询(密码修改).18 3.2.3书刊检索.20 3.2.4公告查询(查询新书发布).23 3.2.5书籍信息修改(查询书籍增订

5、信息).24 3.2.6书籍信息修改(新书发布).27 3.2.7书籍信息修改(旧书删除).29 3.2.8管理员信息查询(密码修改).31 3.2.9书籍讨论区.32 3.2.10 帮助.34 3.3兼容性 .35 3.4打包与混淆 .35 3.5特殊问题与解决方法 .36 3.5.1书籍讨论区同名用户的处理.36 3.5.2midlet 与 servlet 的通讯.37 4结果测试及性能分析.37 4.1测试思路 .37 4.2测试结果 .38 结 束 语.39 参考文献.40 致 谢.41 声 明.42 第 1 页 共 42 页 1 1引言引言 3g,是指第三代移动通讯技术。随着 3g

6、的到来,移动终端不仅仅是打电话, 发短信的工具,届时会有更多丰富的移动应用程序出现。国家工信部 3g 牌照已 经正式发放,标志着中国 3g 元年的到来,现已经有多家 3g 网络牌照运营商进 行发放 3g 牌照,3g 网络已经正式覆盖全国多个省会城市,将有多家移动网络 门户运营商提供低费用高传输速度的无线网络服务。移动商务,移动办公作为 无线网络传输应用的重要分支,将会广泛流行。无线网络传输程序包括 http 协 议下的 web 页面数据传输,基于 udp 传输协议的数据包传输,基于套接字连接 的数据传输。在这三种无线网络传输基础上设计实现的手机程序,将在 3g 广泛 盛行起来的同时,发挥出重大

7、作用,提高人们的生活水平和生活质量。 1.11.1 系统背景系统背景 本程序的设计实现了 http 协议,udp 传输协议,套接字传输协议。本作品 采用移动无线网络传输的图书馆辅助系统(手机客户端)的形式整体实现了上 述协议,并且具有使用价值,因为现在移动通讯使用的范围已经愈来愈广泛, 移动手机的用户界面也越来越友好,移动通讯的网络传输质量也越来越优越, 所以使用手机客户端的形式将用户从繁琐的计算机使用中解脱出来,使得用户 能在随时随地登入到图书馆系统,进行自己期望的操作;而且同时也使得管理 员对图书馆的管理越来越灵活,提高了管理员的能动性,加快了对书籍的整合 和管理的效率。本作品主要采用 j

8、2me 技术进行设计和实现,因为 udp 协议的实 现与套接字传输协议的实现基本一致,所以在设计程序时,考虑到时间以及程 序模块的因素,将其缩减。 1.21.2 开发平台开发平台 本作品的开发平台为 eclipse3.2 + eclipseme1.2.1 + jdk1.6 + wireless toolkit 2.5 + proguard3.6,模拟测试平台为 wtk 模拟器,真机测 试平台为诺基亚 5300。 .1 eclipseeclipse eclipse 是替代 ibm visual age for java(以下简称 ivj)的下一代 ide 开发环境,但它未来的目标

9、不仅仅是成为专门开发 java 程序的 ide 环境,根据 eclipse 的体系结构,通过开发插件,它能扩展到任何语言的开发,甚至能成 为图片绘制的工具。更难能可贵的是 eclipse 是一个开放源代码的项目,任何 人都可以下载 eclipse 的源代码,并且在此基础上开发自己的功能插件。也就 是说未来只要有人需要,就会有建立在 eclipse 之上的 cobol,perl,python 等语言的开发插件出现。同时可以通过开发新的插件扩展现有插件的功能,比 第 2 页 共 42 页 如在现有的 java 开发环境中加入 tomcat 服务器插件。可以无限扩展,而且有 着统一的外观,操作和系统

10、资源管理,这也正是 eclipse 的潜力所在。在本项 目中,eclipse 正是通过第三方插件eclipse me 实现了开发 j2me 应用。 .2 eclipseeclipse meme eclipseme 是帮助你开发 j2me midlet 的 eclipse 插件。 eclipseme 帮助 你轻松的把无线工具包整合到 eclipse 开发环境中,使你不必再担心 j2me 开发 有何特殊需求,而可以把所有精力集中在应用开发上。eclipseme 提供了下列 功能以帮助开发者轻松的创建 midlets: 无线工具包首选项 创建新的 j2me midlet 套件项目 创

11、建新的 midlet java 应用描述文件(jad)编辑器 对 class 文件进行增量的/自动的预检验 支持从 eclipse 中启动运行 j2me 模拟器 打包以及部署(包括无线下载方式)测试,可以使用 proguard 对输出 包进行混淆 .3 proguardproguard proguard 是一个出色的混淆器,用以增加程序被破译的难度,并可以减小 最后生成 jar 的体积,proguard,除了在压缩操作删除的无用类、字段和方法 外,也能在字节码级提供性能优化,内部方法有: 常量表达式求值 删除不必要的字段存取 删除不必要的方法调用 删除不必要的分支 删除不必要的

12、比较和 instanceof 验证 删除未使用的代码 删除只写字段 删除未使用的方法参数 像 push/pop 简化一样的各种各样的 peephole 优化 在可能的情况下为类添加 static 和 final 修饰符 在可能的情况下为方法添加 private, static 和 final 修饰符 在可能的情况下使 get/set 方法成为内联的 当接口只有一个实现类的时候,就取代它 选择性的删除日志代码 第 3 页 共 42 页 .4 tomcattomcat tomcat 服务器是一个免费的开放源代码的 web 应用服务器,tomcat 是 apache 软件基金会(ap

13、ache software foundation)的 jakarta 项目中的一 个核心项目,由 apache、sun 和其他一些公司及个人共同开发而成。由于有了 sun 的参与和支持,最新的 servlet 和 jsp 规范总是能在 tomcat 中得到体现, tomcat 5 支持最新的 servlet 2.4 和 jsp 2.0 规范。因为 tomcat 技术先进、 性能稳定,而且免费,因而深受 java 爱好者的喜爱并得到了部分软件开发商 的认可,成为目前比较流行的 web 应用服务器。 tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不 是很多的场合下被普遍使用

14、,是开发和调试 jsp 程序的首选。对于一个初学者 来说,可以这样认为,当在一台机器上配置好 apache 服务器,可利用它响应 对 html 页面的访问请求。实际上 tomcat 部分是 apache 服务器的扩展,但它 是独立运行的,所以当运行 tomcat 时,它实际上作为一个与 apache 独立的进 程单独运行的。 本系统采用 tomcat 服务器,因为它运行时占用的系统资源小,扩展性好, 支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进 和完善中。手机客户端可以通过与 tomcat 的访问连接来实现各个模块功能。 .5 oracleoracle

15、10g10g oracle database 10g 提供了 4 个版本分别是 oracle database 10g 标准 版 1、oracle database 10g 标准版、oracle database 10g 企业版和 oracle database 10g 个人版。提供了一系列常见的应用程序开发功能,包括与 sql 对 象相关的功能、用于编写存储过程和触发器的 pl/sql 语言和 java 编程接口。 企业版还提供了额外的性能、可伸缩性、可用性、和安全性,这些功能一般对 应用程序开发人员是透明的。oracle database 10g 企业版主持的 api,oracle dat

16、abase 10g 个人版和标准版也支持。oracle database 10g 产 品全部是用同一个健壮和可靠地数据库引擎体系结构构建的。在许多不同的平 台上,oracle database 10g 标准版和 oracle database 10g 个人版都和 oracle database 10g 企业版完全兼容,因此用户的数据库应用程序可以从笔 记本电脑简单地扩展到台式电脑,然后再扩展到整个企业网络,而不需要重新 设计。 1.2.6rationalrational rosrose rational rose 是一个完全的,具有能满足所有建模环境需求能力和灵活 性的一套解决方案。rose

17、允许开发人员,项目经理,系统工程师和分析人员在 软件开发周期内在将需求和系统的体系架构转换成代码,消除浪费的消耗,对 第 4 页 共 42 页 需求和系统的体系架构进行可视化,理解和精练。通过在软件开发周期内使用 同一种建模工具可以确保更快更好的创建满足客户需求的可扩展的、灵活的并 且可靠的应用系统。 rose 是美国的 rational 公司的面向对象建模工具,利用这个工具,可以 建立用 uml 描述的软件系统的模型,而且可以自动生成和维护 c+、java、vb 和 oracle 等语言和系统的代码。rational rose 包括了统一建模语言(uml) , oose,以及 omt。本系统

18、采用 rose 进行 uml 用例建模。 1.31.3 主要技术主要技术 本作品分为服务器端和手机客户端两个部分,采用 c/s 结构设计系统,采 用 gcf 框架中定义的网络连接类和方法,制定双方都能理解的协议来交换数据, 前后台通过 servlet 进行数据传输及页面显示,整个系统采用 mvc 模式进行模 块划分,实现界面和模型数据的分离,结构清晰,便于维护。 1.3.1j2me 技术技术 java 技术是一系列产品的集合,目前主要包括 java2 平台标准版(java 2 platform standard edition, j2se) 、java2 平台企业版(java 2 platfo

19、rm enterprise edition, j2ee) 、java2 平台微型版(java 2 platform micro edition, j2me)和 java 卡平台。 j2me 为运行在嵌入式消费类电子产品的设备,如移动电话、pda、游戏终 端之上的应用程序提供了一个健壮的、灵活的环境。与 j2se、j2ee 和 java card 一样,j2me 同样包含一个小型的虚拟机和一系列的 java api。j2me 还 提供了灵活的图形用户界面、健壮的安全模型、广泛的联网协议支持。目前 j2me 平台已经部署到上亿个的设备上,前景非常看好。 j2me 平台由多种配置(configura

20、tion) 、简表(profile)和可选包 (optionalpackage)组成。平台的实现者和应用程序的开发者可以从中选择并 组合出一个完整的 java 运行环境来满足特定范围内的设备需求。每种组合都应 该使这一系列设备的内存、处理器和 i/o 能力达到最优化。 本系统选择的配置是 cldc,选择的简表是 mipd v2.0.主要原因:cldc 使 用 kvm 虚拟机,面向处理能力较小的移动设备。在类的集合方面,只保留了一 些基本的必要类,可我们能够通过简表进行补充。mipd 是目前 j2me 平台上发 展最成熟、应用最广泛的简表,专门针对移动电话或者 pda,mipd v1.0 版本的

21、 功能包括应用程序下载、网络连接和传输、数据库存储、计时器和用户界面; mipd v2.0 版本扩展功能包括应用下载的计费、网络安全传输、数字签名、域 的安全模式、注册和音频处理。目前大多数移动手机都支持 mipd v2.0 的简表。 第 5 页 共 42 页 .2 gcf 框架框架 gcf(通用连接框架 generic connection framework)是基于 cldc 及其对 应简表,提供了各种连接的基础 api,包括基于数据包和基于数据流的输入/输 出方法。它按照层次的形式组织各种连接接口,使用 url 表示不同的连接。通 用连接框架定义了 7 种接口:conne

22、ction 接口、cintentconnection 接口、 datagramconnection 接口、inputconnection 接口,outputconnection 接口, streamconnection 接口和 streamconnectionnotifier 接口。connection 接口是所 有接口的基类,它产生了用于数据包连接的 datagramconnection 连接接口、用 于数据流连接的 inputconnection 接口、outputconnection 接口和 streamconnectionnotifier 接口。其中 streamconnection

23、接口继承自数据流连接 的输入/输出接口,并派生了用于数据内容解析的 cintentconnection 接口。 gcf 是一个容易扩展的框架结构,用户可以根据自身的需要在现有的类和 接口上建立自己的类或者实现自己的接口。 1.3.3rsm rms(记录管理系统 record management system)类似于普通计算机的文 件管理系统。在手持电子设备中,用以统一的机制管理持续性存储资源。记录 管理系统具有数据库管理系统的特征,即记录管理系统组织数据是按照行列的 方式进行组织的,每条信息在记录管理系统中都表现为一条记录,类似于数据 库一行,每一条记录可以包含多个数据,类似于数据库某一行中

24、的多列。我们 可以通过添加记录的方式将数据持久地保存在记录管理系统中;通过删除记录 的方式删除信息;同时记录管理系统还允许为你们对记录进行排序和查找。记 录管理系统允许以下操作: 创建记录存储器; 在已建立的记录存储器中添加记录; 在已建立的记录存储器中删除已经存在的记录; 在已建立的记录存储器中读取已经存在的记录; 在已建立的记录存储器中建立枚举器; 在已建立的记录存储器中建立比较器; 在已建立的记录存储器中建立筛选去。 1.3.4mvc mvc 是一种设计模式,强制把应用程序的输入、处理和输出分开。mvc 把应 用程序分为三个核心模块:模型、视图和控制器,他们分别负担不同的任务。 尽管构造

25、 mvc 应用程序需要一些额外的操作,但是给我们带来的好处是毋庸置 疑的。 第 6 页 共 42 页 首先,多个视图能共享一个模型。在 mvc 设计模式中,模型响应用户请求 并返回响应数据,视图负责格式化数据并把它们呈现给用户,业务逻辑和表示 层分离,同一个模型可以被不同的视图重同,所以大大提高了代码的可重用性。 其次,模型是自包含的,与控制器和视图保持相对独立,所以可以方便地 改变应用程序的数据层和业务规则。由于 mvc 的三个模块相互独立,改变其中 一个不会影响到其他两个,因此依据这种设计思想能构造良好的松耦合的构件。 此外,控制器提高了应用程序的灵活性和可配置性。控制器可以用来连接 不同

26、的模型和视图去完成用户的需求,也可以为构造应用程序提供强有力的手 段。给定一些可重用的模型和视图,控制器可以根据用户的需求选择适当的模 型进行处理,然后选择适当的视图将处理结果显示给用户。 .5 javabeanjavabean 技术技术 javabeans 是一个类,它有无参的构造函数,并且遵从 javabeans 的命名 约定。bean 的属性可以通过获取(getter)方法和设置方法(setter)来访问, 这两个方法统称为 bena 的存取方法,每一个单词的首字母都要大写。除了简单 的属性外,bean 还可以有多值属性,多值属性是由一个任意类型的数组组成。 在规范中这称

27、为索引的属性。 javabeans 技术能实现封装数据,实现对代码的重用。javabeans 技术,涉 及到组件构件技术,是 java 的核心基础部分。很多软件设计模式都是通过 javabeans 实现的。javabeans 具有以下特性: 内透性 指一个类的信息,都可以被另一个类获知。javabeans 遵循 某种命名规则,这样外部类就可以知道这个 bean 类。 支持自定义 属性的方法用来对 javabeans 进行自定义 支持事件 支持属性 支持永久性 .6 javajava servletservlet 技术技术 servlet 是与平台无关的服务器端组件,可以运行在

28、servlet 容器中。 servlet 容器负责 servlet 和客户的通信以及调用 servlet 的方法。servlet 和 客户的通信采用“请求/响应”的模式。 servlet 的框架是有两个 java 包组成的javax.servlet 和 java.servlet.http。在 javax.servelt 包中定义了所有的 servlet 类都必须实 现或扩展的通讯接口和类。在 javax.servlet.http.包中定义了采用 http 协议 第 7 页 共 42 页 通信的 htttpservlet 类。 servlet 的技术特点有以下几个方面: java servlet

29、 技术具有 java 技术的所有优点。 java servlet 技术要比传统的 cgi 技术效率更高。传统的 gci 技术对 于每个 http 请求都要产生一个新进程。servlet 技术对于每一个请求 产生 java 线程来响应。 java servlet 技术要比传统的 cgi 技术更强大。java servlet 能方便 的处理 html 表单数据,能够读取和设置 http 头信息,并且能够处理 cookies,跟踪 session 等其他功能。 java servlet 是模块化的。每一个 servlet 可以执行一个特定的任务, 并且可以讲他们并在一起工作。 java servle

30、t 之间能共享数据。 java servlet 技术要比传统 cgi 技术更安全。 .7 javajava socketsocket 技术技术 socket 通常也称作套接字,用于描述 ip 地址和端口,是一个通信链的 句柄。应用程序通常通过套接字向网络发出请求或者应答网络请求。socket 是网络应用程序的核心,在服务器端或客户端网络应用程序中,皆为不可缺少 的要素。它主要包括 serversocket 和 socket。 serversocket 用于服务器端,socket 是建立网络连接时使用的。在连接成 功时,应用程序两端都会产生一个 socket 实例,操作这个实例,

31、完成所需的会 话。对于一个网络连接来说, 套接字是平等的,并没有差别,不因为在服务器 端或在客户端而产生不同级别。不管是 socket 还是 serversocket 它们的工作 都是通过 socketimpl 类及其子类完成的。 1.41.4 术语与缩写解释术语与缩写解释 kvm:全称 kilobyte virtual machine,j2me 虚拟机; ide:全称 integrated development environment,集成开发环境; wtk: 全称 wireless toolkit,是 sun 公司发布的 j2me 应用开发套件; midlet:一个 midp 应用程序称

32、作 midletmidp 小应用程序,这个 概念与 j2se 中的 applet 十分类似; apiapplication programming interface 应用程序编程接口; midpmobile information device profile 移动信息设备简表; cldcconnected limited device configuration 有限无线设备配置; uiuser interface 用户界面; httphypertext transfer protocol 超文本传输协议; 第 8 页 共 42 页 udpuser datagram protocol 用户

33、数据报协议; socket套接字,用于描述 ip 地址和端口,是一个通信链的句柄。 2 2需求分析及项目方案需求分析及项目方案 2.12.1 目标目标 基于无线网络传输的图书馆辅助系统(手机客户端)使用 c/s 结构,实现 无线网络传输下的 http 协议和套接字协议进行数据传输。系统分为服务器端和 手机客户端两个部分,其中服务器端提供模拟学校网上图书馆功能,提供数据 存储的服务器终端。手机客户端包括读者登入和管理员登入两个模块,读者用 户可以进行借阅书籍基本信息查看,书刊续借,密码修改,书刊信息查询,书 刊增订;管理员用户可以进行书籍信息修改,个人信息查询。还设置书籍讨论 区公共模块,管理员

34、用户和读者用户可以进行书籍的交互讨论。 2.22.2 假定和约束假定和约束 本系统软件是在模拟器上模拟实现辅助图书馆的管理的客户端软件,因为 使用者是该校学生或者老师,所以学校已经分配给每个用户以用户名和密码, 所以没有设置用户注册模块;此外,本系统主要实现手机客户端与后台服务器 之间的数据传输,提供了模拟的服务接口,所以服务器端数据库设计为个人理 想状态下设计,忽略了繁琐的数据访问机制;最后由于是手机客户端难免受到 手机软硬件的限制,将重点放在实现系统功能以及界面设计方面,降低了物理 层的无线承载能力的要求。 2.32.3 需求规定需求规定 .1 对新能的规定对新能的规定 对

35、精度的规定:用户应按照界面提示输入数据,后台代码提供了对数据精 度出错提供了一定得处理功能。 时间性要求:对于一般的页面操作,延时可忽略不计。但如果涉及网络数 据请求、传输,或者用户进行的操作相当耗费 cpu 的时候,延时会很明显。如 果某项操作耗费时间已经超过 1 分钟还没结束,用户应自行决定放弃此操作或 退出本软件。 灵活性要求:系统采用视图、模型、控制器分离设计,增加了系统访问的 灵活性和可理解性,更方便了系统后天的维护,通过增加系统的通讯协议可快 速对系统进行功能增加。 2.3.2对性能的规定对性能的规定 本系统具体功能需求如表 1-1 所示: 第 9 页 共 42 页 表 1-1 功

36、能需求表 序 号 模块名称功能名称简要描述 书刊检索 用户输入期望查询的书籍名称,若有馆藏书籍,将返回 书籍列表,选择书籍目录,可以查询相应书籍的基本信 息;若没有馆藏书籍,用户可以选择“书刊增订” ,输入 书籍名称,就可以将期望增订的书籍提交给管理员,管 理员就可以根据需求增加书籍。 读者信息查询 用户可以查询个人基本信息;可以查询个人借阅书籍列 表,若所借书籍还在借阅期内,可以点击“续借” ,向图 书馆续借该书籍,若所借书籍即将到期,用户还可以选 择该书籍,然后添加到期闹铃提示 密码修改用户可以通过手机客户端修改图书馆登入密码 书籍讨论区 用户登入到书籍讨论区后,就可以和在线的读者对书籍

37、进行讨论,发表个人意见,还可以和个别读者单独交流 心得,或者向在线的管理人员提出意见或建议。 新书发布 读者可以通过输入查询日期,进行查询该天图书馆所新 增加的书籍,查询自己新增订书籍是否上架 帮助提示读者用户使用该手机客户端的注意事项及帮助 1 读者模块 退出读者用户安全退出该系统 书籍信息修改 管理员可以查询读者的书刊增订信息,可以在新书发布 选项中将新书名称通过本系统发布出来;也可以通过旧 书删除选项将过期或者下架书籍从图书馆数据库中删除。 密码修改管理员可以通过手机客户端修改图书馆登入密码 书籍讨论区 管理员登入到书籍讨论区后,就可以接受在线读者的质 询,回答问题,或者突发事件的发布

38、帮助提示管理员用户使用该手机客户端的注意事项及帮助 2 管理员模块 退出管理员用户安全退出该系统 .3 输入输出要求输入输出要求 阿拉伯数字均为十进制无正负; 索引号更具规定的 isbn 编号设置; 日期格式为:yy-mm-dd 2.42.4 数据结构及表的定义数据结构及表的定义 数据库表格定义了系统服务器端所用到的基本数据表,详细描述了数据表 中的字段、类型、约束条件、说明等信息,如下表所示: 表 1-2 表 book 的结构 字段名数据类型 (精度范围) 长度空/非空缺省约束 条件 说 明 indexidvarchar220 非空主键书籍的 isbn 索引号 booknam

39、evarchar220 书籍名称 authorvarchar220 作者 publishervarchar220 出版商 pudatevarchar220 出版日期 statevarchar220inlib 书籍状态,是否借 阅 第 10 页 共 42 页 (inlib/borrow) returndatevarchar220 归还日期 表 1-3 表 libuser 的结构 字段名数据类型 (精度范围) 长度空/非空缺省约束 条件 说 明 libuidvarchar220 非空主键读者 id pwdvarchar220 外键读者密码 表 1-4 表 borrowsituation 的结构 字

40、段名数据类型 (精度范围) 长度空/非空缺省约束 条件 说 明 indexidvarchar220 非空主键书籍的 isbn 索 引号 libuidvarchar220 非空主键用户 id returndatevarchar220 归还日期 returnstatevarchar220 空续借状态,是 否可以续借 (ag/null) 表 1-5 表 manuser 的结构 字段名数据类型 (精度范围) 长度空/非空缺省约束 条件 说 明 libuidvarchar220 非空主键管理员 id pwdvarchar220 外键管理员密码 表 1-6 表 needbook 的结构 字段名数据类型 (

41、精度范围) 长度空/非空缺省约束 条件 说 明 booknamevarchar220 非空主键预定书籍名 称 authorvarchar220 预定书籍作 者 publishervarchar220 预定书籍出 版社 表 1-7 表 newbook 的结构 字段名数据类型 (精度范围) 长度空/非空缺省约束 条件 说 明 booknamevarchar220 非空主键新增书籍名 称 authorvarchar220 新增书籍作 者 publishervarchar220 新增书籍出 版社 newdatedate 新增书籍日 期 网络通讯协议是客户端和服务器端交互数据的基础,主要由动作和数据组

42、成,动作定义如下表所示: 表 1-8 表网络通讯请求动作 请求动作 动作名称描述 第 11 页 共 42 页 change_pwd 读者用户修改密码请求 search_book 读者用户查询书籍请求 login 读者用户登入请求 man_login 管理员用户登入请求 表 1-8 表网络通讯请求动作(续) needbook 读者用户预订书籍请求 show_man_noticebook 管理员用户查询预订书籍请求 man_dell_needbook 管理员用户删除预订书籍信息请求 change_manpwd 管理员用户修改密码请求 delbook 管理员用户删除书籍基本信息请求 newbook

43、读者用户查询新增书籍信息请求 goon_borrowbook 读者续借书籍请求 addbook 管理员用户添加书籍请求 表 1-9 表网络通讯响应动作 响应动作 动作名称描述 changepwd_no_user 读者用户修改密码时,提交用户名不存在 changepwd_error_pwd 读者用户修改密码时,提交原始密码错误 changepwd_success 读者用户修改密码成功 changepwd_fail 读者用户修改密码失败 login_error_pwd 读者用户登入时,密码错误 login_no_user 读者用户登入时,提交用户名不存在 login_success_no_book

44、 读者用户登入时,登入成功但没有借阅书籍信息 login_success_has_book 读者用户登入时,登入成功并有借阅书籍信息 search_fail 读者用户查询书籍信息失败 search_no_book 读者用户查询书籍时,没有满足条件的书籍信息 search_has_book 读者用户查询书籍时,查询到满足条件的书籍 man_login_success 管理员用户登入成功信息 man_login_error_pwd 管理员登入时,密码错误 man_login_no_user 管理员登入时,提交用户名不存在 man_success_update_book 管理员更新书籍信息时,成功

45、man_error_update_book 管理员更新书籍信息时,失败 success_need_book 读者用户提交预定书籍信息时,成功 error_need_book 读者用户提交预定书籍信息时,失败 man_has_needbook 管理员用户查询预订书籍信息时,有预定书籍信息 man_no_needbook 管理员用户查询预订书籍信息时,无预定书籍信息 man_success_dellneedbook 管理员删除预定书籍信息时,成功 man_error_dellneedbook 管理员删除预定书籍信息时,失败 man_changepwd_success 管理员修改密码时,成功 man

46、_changepwd_fail 管理员修改密码时,失败 man_changepwd_error_pwd 管理员修改密码时,提交的原始密码错误 man_changepwd_no_user 管理员修改密码时,提交的用户名不存在 man_success_dellbook 管理员删除旧书信息时,成功 man_error_dellbook 管理员删除旧书信息时,失败 man_error_statebook 管理员删除旧书信息时,书本借出,不能删除 man_no_hasbook 管理员删除旧书信息时,没有该书籍信息 goon_success_borrowbook 读者续借书籍时,成功 goon_error

47、_borrowbook 读者续借书籍时,失败 errpr_state_borrowbook 读者续借书籍时,该书已经续借过,不能续借 has_newbook 读者查询新增书籍时,有新该日增书籍信息 no_newbook 读者查询新增书籍时,没有该日新增书籍 goon_success_borrowbook 读者续借书籍时,成功 goon_error_borrowbook 读者续借书籍时,失败 errpr_state_borrowbook 读者续借书籍时,该书已经续借过,不能续借 has_newbook 读者查询新增书籍时,有新该日增书籍信息 第 12 页 共 42 页 no_newbook 读者

48、查询新增书籍时,没有该日新增书籍 界面控制器内部定义的协议实现了界面中的跳转以及和网络连接控制器之 间的请求。请求协议定义如下表所示: 表 1-10 表页面显示请求 页面显示请求 动作名称描述 show_login 请求显示读者登入页面 show_change_pwd 请求显示读者修改密码页面 show_search_book 请求显示读者查询书籍信息页面 show_newbook 请求显示查询新增书籍页面 show_talkpage 请求显示书籍讨论区欢迎界面 show_userwel 请求显示读者欢迎界面 show_managerwel 请求显示管理员欢迎界面 show_man_login

49、 请求显示管理员登入界面 show_change_manpwd 请求显示管理员密码修改界面 show_mantalk 请求显示管理员登入书籍讨论区欢迎界面 show_man_help 请求显示管理员帮助界面 show_man_addbook 请求显示管理员新增书籍界面 show_man_delbook 请求显示管理员删除旧书界面 show_man_noticebook 请求显示查询预订书籍界面 show_help 请求显示读者帮助界面 表 1-11 表页面导航请求 页面导航请求 动作名称描述 help_backto_mainmenu 请求从读者帮助界面返回读者欢迎界面 exit 请求退出系统

50、login_backto_mainnenu 请求从读者登入界面返回读者欢迎界面 login 请求网络控制器建立读者登入连接 change_pwd 请求网络控制器建立读者密码修改连接 search_book 请求网络控制器建立读者书籍查询连接 change_pwd_backto_mainmenu 请求从读者密码修改界面返回读者欢迎界面 search_book_backto_mainmenu 请求从读者书籍查询界面返回读者欢迎界面 login_success_no_book 接受网络控制器返回读者登入成功没有借阅书籍导 航界面 login_success_has_book 接受网络控制器返回读者登

51、入成功有借阅书籍信息 导航界面 show_user_book 接受网络控制器请求显示读者借阅书籍信息界面 show_each_book 接受网络控制器请求显示读者所查询书籍基本信息 界面 talkpage_backto_mainmenu 请求从读者书籍讨论区返回读者欢迎界面 talkpage 请求网络控制器建立读者书籍讨论区连接,显示讨 论区欢迎界面 chat_backto_talkpage 请求从聊天界面返回读者书籍讨论区欢迎界面 send_nessage 请求网络控制器发送读者聊天信息界面 choose_privatename 设置私聊对象 choose_backto_chatpage 请

52、求从私聊界面返回聊天界面 show_privatetalk 请求显示私聊对象界面 man_login 请求网络控制器建立管理员登入连接 manlogin_backto_mainnenu 请求从管理员登入界面返回管理员欢迎界面 man_login_success 接受网络控制器返回管理员登入成功信息,显示提 示界面 第 13 页 共 42 页 addbook_backto_updatemenu 请求从管理员添加书籍界面返回书籍信息修改界面 addbook 请求网络控制器建立添加书籍基本信息连接 needbook_backto_mainnenu 请求从添加预订书籍信息界面返回读者欢迎界面 表 1-

53、11 表页面导航请求(续) needbook 请求网络控制器建立查询预订书籍基本信息连接 manneed_backto_updatemenu 请求从查询预订书籍界面返回书籍信息修改界面 show_man_needbook 接受网络控制器请求显示管理员查询预订书籍基本 信息界面 man_dell_needbook 请求网络控制器建立删除预订书籍基本信息链接 talkpage_backto_manmainmenu 请求从书籍讨论区欢迎界面返回管理员欢迎界面 man_talkpage 请求网络控制器建立书籍讨论区连接,并显示书籍 讨论区欢迎界面 chat_backto_mantalkpage 请求从

54、聊天界面返回管理员书籍讨论区欢迎界面 change_pwd_backto_manmainmenu 请求从密码修改界面返回管理员欢迎界面 change_manpwd 请求网络连接控制器建立管理员修改密码连接 delbook_backto_updatemenu 请求从删除书籍信息界面返回书籍信息修改界面 delbook 请求网络控制器建立删除书籍基本信息链接 goon_borrowbook 请求网络控制器建立读者续借书籍连接 new_backto_mainmenu 请求从读者查询新增书籍界面返回读者欢迎界面 newbook 请求网络控制器建立查询新增书籍基本信息连接 show_newbook_de

55、tail 接受网络控制器请求显示读者查询新增书籍基本信 息界面 在书籍讨论区模块中,客户端和服务器端连接是采用如下表通讯协议格式 进行信息传递和解析; 表 1-12 表书籍讨论区协议 动作格式 登入聊天室:(c-s) 和 接收登入信息: (s-c) username 登出聊天室:(c-s) 和 接收登出信息: (s-c) username 标准聊天信息:(c-s int total = 0; set set = list.keyset(); /使用keyset方法获取所有key值 iterator it = set.iterator(); while (it.hasnext() /遍历所有用户

56、名 string user = list.get(it.next(); total+; if (user.equals(name) flag = 1; if (total 3) flag = 2; return flag; synchronized int sendtoone(string name, string content) printwriter writer = null; socket socket; set set = list.keyset(); /使用keyset方法获取所有key值 iterator it = set.iterator(); while (it.hasne

57、xt() socket = (socket) it.next(); if (name.equals(list.get(socket) /找到指定用户的 socket 第 37 页 共 42 页 try writer = new printwriter(socket.getoutputstream(),true); catch (exception e) if (writer != null) writer.println(content); return 1; return 0; synchronized void sendtoone(socket socket, string content

58、) printwriter writer = null; try writer = new printwriter(socket.getoutputstream(), true); catch (exception e) if (writer != null) writer.println(content); .2 midletmidlet 与与 servletservlet 的通讯的通讯 问题:在本软件设计中,主要的一个设计思想就是使用 midlet 和 servlet 进行网络通讯,如果只提供 url 和 gcf 框架类包中的连接函数时,会出现无法 访问和出现错误代码。 解

59、决:在进行网络连接前,先设置好连接使用的 user-agent 和 content- type 等连接属性,保证 servlet 正确连接客户端。 代码: /建立 httpconnection 连接 conn = (httpconnection)connector.open(serverurl,connector.read_write, true); uicontroler.displayprogress(); /设置连接的user-agent字段 conn.setrequestproperty(user- agent,system.getproperty(fi

60、les); gressui.append(n设置user- agent:+system.getproperty(files); /设置内容类型以及连接流 conn.setrequestproperty(content-type,application/octet-stream); gressui.append(n设置content- type:application/octet-stream); /设置连接类型 conn.setrequestmethod(httpconnection.post); ui

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论