资源描述
西安石油大学毕业设计(论文) 1 目 录 1 绪 论 .1 2 开发环境 .3 2.1 JDK 及 TOMCAT 的安装 .3 2.2 ACCESS 数据库 .5 2.3 JSP 与 ACCESS 的连接 .5 3 系统的核心技术 .6 3.1 JAVA.6 3.2 概述 JSP .8 3.2.1 JSP 原理 .8 3.2.2 JSP 与其他技术的比较 .9 3.3 JAVABEANS.10 3.4 ODBC .11 3.5 JDBC .11 4 总体设计 .14 4.1 可行性分析 .14 4.2 需求分析 .14 4.3 系统分析 .15 5 详细设计 .16 5.1 数据库设计 .16 5.2 主页设计 .18 5.3 登录界面设计 .19 5.4 购物车设计 .21 结束语 .24 参考文献 .25 致 谢 .26 毕业设计小结 .27 附 录 .28 西安石油大学毕业设计(论文) 2 1 绪 论 概述 网上书店同样也面临着巨大的挑战。但从理论上讲,图书应是最适合在网上销 售的商品之一:图书特有的属性如书名、版式、自述、摘要、作者、出版时间、出 版社等都可以在网上传递,一目了然,这不像买衣服,非得自己亲自试试才敢选购; 并且网上书店 24 小时全天候服务,充分满足了读者的需求。有的网上书店经营者还 认为,从市场角度讲,出版物是重要的消费热点,网络出版和发行的客观需求较强, 况且人力资源充足,劳动力价格低,为图书配送提供了条件;并且在健康的运作模 式下,开设网上书店的成本远远低于传统模式,网上书店建立仓储的费用相对较低, 甚至可能实现零库存。看来,如果一切都顺利有序的话,网上书店的发展应是前途. 目前国内大约有 105 家网上书店,较大的有当当、博库、旌旗、全国购书网等,经 营方式略有不同,就拿当当和博库相比,当当是尽量扩大市场范围,发购物券等措 施来提高销售额,虽然目前销售额还高不到哪里去,但买的是预期、将来的市场。 博库则把更大的精力放到了网站设计上,开设一些书屋,以及下载功能等,当然访 问人数增加了,将来的市场也不会小。但这只是问题的开始,图书的存储、发送渠 道的通畅与否直接影响网上书店的销售和利润. 图书是最适合在网上销售的商品,网上书店大有可为,关键是运作的问题。中 国寻书网崔健先生认为中国网上书店林立有其深刻的原因,这也是当前电子商务网 站建设的自然选择。首先,图书具有鲜明的文化属性,易于形成巨大的读者群。其 二,图书特有的属性符合网上交易对商品信息的呈现要求,图书的多种要素例如书 名、版式、字数、摘要、作者、出版时间、出版社等都能在网上传递,这些都是很 标准的参数,能使客户一目了然,从而就能对欲购商品有一个较全面的认识。其单 价低、体积小、便于浏览和运输等特点,决定了图书是网上最容易销售的产品;其 三,从市场角度讲,出版物是重要的消费热点,网络出版和发行的客观需求较强, 况且人力资源充足,劳动力价格低,为图书配送提供了条件;其四,在健康的运作 模式下,开设网上书店的成本远远低于传统模式,网上书店建立仓储的费用相对低, 甚至可能实现零库存;其五,网上书店以广阔的市场覆盖面及 24 小时全天候服务, 充分满足了读者的需求,特别是在出版发行业不发达的地区,人们通过上网,不仅 可以获得更多的信息,还可以直接购买图书;再者,从发展的眼光看,新一代读者 消费与阅读观念正迅速转变,网民迅速增加,渐渐会从传统消费模式向网上消费转 变。所以说,与传统店面书店相比,网上购书的市场规模和经营模式突破了地位位 置、经营面积、营业时间的局限,有着十分巨大的发展潜力。 网上书店的正常运作需要很多条件,也需要有正确的模式。按理说,网上书店 前景无限。然而目前的现实却是,有的网上书店每天的营业额不到 500 元,甚至赶 西安石油大学毕业设计(论文) 3 不上一个普通的柜台,有的则一直通过盲目的打折在“赔钱赚吆喝” ,希望能赚明天 的钱,至少在当前是一亏再亏。原因在哪?一个成功的网上书店,首先要充分体现价 格优势,这实际上要求网上书店要有先进的管理模式,在网下要有高效完善的销售 服务体系,否则成本会居高不下;其次是体现技术上的优势,在网上售书,必须保 证安全和高效,而现在大部分网上书店支付手段落后,结算手续繁杂;第二,仓储 费用相对较高。图书有很多种类,人们需求各异,这样就造成了大量库存,仓储费 用巨大会直接影响到网站的盈利。 要实现网上书店的目标,首先要清楚一个客户在网上书店的购物流程。图给出 客户的购物流程示意图。 图中,顾客在网上浏览图书时,可以通过按图书类别,综合查询,精品图书等 多种方式来查找需要的图书,并且图书的信息以一个简明页面和一个详细页的方式 给出,一提高读者浏览效率。 当读者找到希望购买的图书后,直接在图书页面上单击连接将图书放入购物车 中,然后可以继续浏览其他图书或查看购物车中的图书情况。在查看购物车过程中, 能够更改所购图书的数量,从购物车中清楚所选图书,在此期间仍然能够返回到浏 览图书页面继续浏览图书。 用户登录成功后,重新核对自己所选购的商品信息,确认购买后,填写订购图书所 需要信息,保存到数据库中,完成网上的购书过程。 网上书店的购物流程图 确认所购图书,填写定单信息 保存定单,购买完成 放入购物车 查看购物车 更新购物车 用户身份确认 顾客在网上书店中游览到某本图书 西安石油大学毕业设计(论文) 4 2 开发环境 2.1 JDK 及 Tomcat 的安装 第一步:-安装 J2SDK: 到 SUN 官方站点(http:/) 下载 J2SDK 的安装文件:j2sdk-1_4_2_04- windows-i586-p.exe,下载之后安装好 J2SDK;安装完之后,设置环境变量:我的电 脑- 属性- 高级-环境变量; 选择-系统变量(S): 设置 JAVA_HOME 环境变量: 单击-新建,在变量名中输入:JAVA_HOME 在变量值中输入:D:Java (假设 J2SDK 安装在目录 D:Java 下,反正就是 J2SDK 的安装目录。) 然后-确定,到此已经设置好 JAVA_HOME 环境变量。 设置 CLASSPATH 环境变量: 单击-新建,在变量名中输入:CLASSPATH 在变量值中输入:D:Javabin;.;D:Javalib;D:Javalibdt.jar;D:Javalibtools.jar (中间的点号“.”和分号“;”必不可少。) 然后-确定,到此已经设置好 CLASSPATH 环境变量。 设置 PATH 环境变量: 单击-新建,在变量名中输入:PATH 在变量值中输入:D:Java;.;D:Javabin (中间的点号“.”和分号“;”必不可少。) 然后-确定,到此已经设置好 JAVA_HOME 环境变量。 三个环境变量设置好后,写一个简单的 java 程序来测试 J2SDK 是否已安装成功: 在 D:下新建一个目录 test;然后写如下程序: publicclass Test publicstaticvoid main(Stringargs) System.out.println(This isatestprogram.); 将上面的这段程序保存为文件名为 Test.java 的文件,保存在目录 D:test 下。 javacTest.java javaTest 此时如果看到打印出来 Thisisatestprogram.的话说明安装成功了, 西安石油大学毕业设计(论文) 5 如果没有打印出这句话,你需要仔细检查一下你的配置情况。 如果上面的 J2SDK 安装成功的话,接下来继续安装 Tomcat: 第二步:-安装 Tomcat: 到 tomcat 官方站点 (http:/www.apache.org/dist/jakarta/tomcat-4/)下载 tomcat: jakarta-tomcat-4.1.30.exe ,下载之后安装。( 比如安装在 D:Tomcat 下。) 安装完之后,设置环境变量:我的电脑-属性-高级- 环境变量; 选择-系统变量(S) : 设置 CATALINA_HOME 环境变量: 单击-新建,在变量名中输入:CATALINA_HOME 在变量值中输入:D:Tomcat 然后-确定,到此已经设置好 CATALINA_HOME 环境变量。 设置 CATALINA_BASE 环境变量: 单击-新建,在变量名中输入:CATALINA_BASE 在变量值中输入:D:Tomcat 然后-确定,到此已经设置好 CATALINA_BASE 环境变量。 然后修改环境变量中的 CLASSPATH,把 Tomat 安装目录下的 commonlib 下 的 servlet.jar 追加到 CLASSPATH 中去, 修改后的 CLASSPATH 如下: CLASSPATH=D:Javabin;.;D:Javalib;D:Javalibdt.jar;D:Javalibtools.jar; D:Tomcatcommonlibservlet.jar 接着可以启动 tomcat,在 IE 中访问 http:/localhost:8080,如果看到 tomcat 的 欢迎页面的话说明安装成功了。 如果上面的 tomcat 安装成功的话,接下来继续安装 JSP 访问 SQLServer 2000 的驱动程序: 第三步:-安装 JSP 访问 SQL Server 2000 的驱动程序: 从微软的网站上下载驱动程序:SQLServer2000For JDBC 驱动程序, 在 Google 中随便搜索就有。 然后将它安装好。(比如安装目录是 D:SQLDriverForJDBC。) 然后必须将安装目录中的 lib 目录下三个 jar 文件: msbase.jar,mssqlserver.jar,msutil.jar 拷贝到 Tomcat 目录下 commonlib 目录下, 之后,修改环境变量中的 CLASSPATH, 把 SQL Server 2000 For JDBC 驱动程序安装目录下的 D:SQLDriverForJDBClibmsbase.jar;D:SQLDriverForJDBClibmssqlserver.jar; D:SQLDriverForJDBCmsutil.jar; 追加到 CLASSPATH 中去,修改后的 CLASSPATH 如下: 西安石油大学毕业设计(论文) 6 CLASSPATH=D:Javabin;.;D:Javalib;D:Javalibdt.jar; _D:Javalibtools.jar;D:LubeeTomcatcommonlibservlet.jar; _D:SQLDriverForJDBClibmsbase.jar;D:SQLDriverForJDBClibmssqlserver.jar; D:SQLDriverForJDBCmsutil.jar 2.2 Access 数据库 所谓数据库,就是一些关于某个特定主题或目的的信息集合。 使用数据库能够保证资料的存储具有相应的格式,而且还能保证资料和资料之间具 有某种特定的逻辑关系。“数据库操作是Web 应用程序的核心”,“如何构建基于 数据库的Web应用程序” ,这也正是Dreamweaver UltraDev 的优势所在。 Microsoft Access 2000 是一种简单易用的小型数据库设计系统,特别适用于小 型商 务,利用它能够快速创建具有专业特色的数据库,而不需要用户钻研高深的数据库 理论知识。 Access数据库可以支持SQL,对数据库进行定义和操纵,能够方便的建立“客 户机/ 服务器”结构的数据库应用环境。 这些就是我选用 Access 创建数据库的原因。 2.3 JSP 与 Access 的连接 通过在先问题的解答例子来介绍 JSP 与 Access 的连接技术,步骤如下: (1) 首先建立一个数据库,其中设计表,表中可以存放一些编程知识的常见问 题及答案。 (2) Windows 98 在 Control Panel(控制棉板)的 ODBC Datasource 模块中 Windows2000 在 Control Panel(控制棉板)的管理工具的 ODBC Datasource 模 块中,在加如 System DSN 后,取名 faq.mdb,并指向。添加 ODBC 步骤如 下: (1) 打开 ODBC,选择系统 DSN,单击“添加” 。 (2) 选择 Driver do Microsoft Access,单击“完成” 。 (3) 在数据源名输入数据库在中的名字,在说明中输入该数据库的具体说 明。 (4) 选择所示的数据库,单击“确定” 。完成数据库的设置 西安石油大学毕业设计(论文) 6 3 系统的核心技术 3.1 JAVA 最近一段时间来 ,在 INTERNET 上出现的特别吸引人的事件就是 Java 语言和 用 Java 编写的浏览器 HotJava。 1991 年 ,SUN MicroSystem 公司的 Jame Gosling、 Bill Joe 等人 ,为在电视、控 制烤面包箱等家用消费类电子产品上进行交互式操作而开发了一个名为 Oak 的软件 (即一种橡树的名字 ),但当时并没有引起人们的注意 ,直到 1994 年下半年 ,INTERNET 的迅猛发展 ,环球信息网 Web 的快速增长 ,促进了 Java 语言研制的进 展 ,使得它逐渐成为 INTERNET 上受欢迎的开发与编程语言 ,一些著名的计算机公 司纷纷购买了 Java 语言的使用权 ,如 MicroSoft、 IBM、 Netscape、 Novell、Apple、 DEC、 SGI 等 ,因此 ,Java 语言被美国的著名杂志 PC Magazine 评为 1995 年十大优秀科技产品 ,(计算机类就此一项入选 ),随之大量出现了用 Java 编写的软件产品 ,受到工业界的重视与好评 ,认为 Java 是八十年代以来计算机界的 一件大事 ,微软总裁比尔 盖茨在悄悄地观察了一段时间后 ,不无感慨地说 :Java 是长时间以来最卓越的程序设计语言 ,并确定微软整个软件开发的战略从 PC 单机 时代向着以网络为中心的计算时代转移 ,而购买 Java 则是他的重大战略决策的实施 部署。 Java 语言有下面一些特点 :简单、面向对象、分布式、解释执行、自动检错、 安全、体系结构中立、可移植、高性能、多线程以及动态性。我现在分别来介绍这 些特点: (1) 简单性 Java 语言是一种面向对象的语言 ,它通过提供最基本的方法来完成指定的任务 , 只需理解一些基本的概念 ,就可以用它编写出适合于各种情况的应用程序。Java 略 去了运算符重载、多重继承等模糊的概念 ,并且通过实现自动垃圾收集大大简化了 程序设计者的内存管理工作。另外 ,Java 也适合于在小型机上运行 ,它的基本解释器 及类的支持只有 40KB 左右 ,加上标准类库和线程的支持也只有 215KB 左右。库和 线程的支持也只有 215KB 左右。 (2) 面向对象 Java 语言的设计集中于对象及其接口 ,它提供了简单的类机制以及动态的接口 模型。对象中封装了它的状态变量以及相应的方法 ,实现了模块化和信息隐藏;而类 则提供了一类对象的原型,并且通过继承机制 ,子类可以使用父类所提供的方法,实现 了代码的复用。 (3) 分布性 Java 是面向网络的语言。通过它提供的类库可以处理 TCP/IP 协议 ,用户可以通 西安石油大学毕业设计(论文) 7 过 URL 地址在网络上很方便地访问其它对象。 (4) 自动检错性 Java 在编译和运行程序时 ,都要对可能出现的问题进行检查 ,以消除错误的产生。 它提供自动垃圾收集来进行内存管理 ,防止程序员在管理内存时容易产生的错误。 通过集成的面向对象的例外处理机制 ,在编译时 ,Java 提示出可能出现但未被处理的 例外 ,帮助程序员正确地进行选择以防止系统的崩溃。另外,Java 在编译时还可捕获 类型声明中的许多常见错误 ,防止动态运行时不匹配问题的出现。 (5) 安全性 用于网络、分布环境下的 Java 必须要防止病毒的入侵。 Java 不支持指针,一切 对内存的访问都必须通过对象的实例变量来实现 ,这样就防止程序员使用 特洛伊 木马等欺骗手段访问对象的私有成员 ,同时也避免了指针操作中容易产生的错误。 (6) 体系结构中立 Java 解释器生成与体系结构无关的字节码指令 ,只要安装了 Java 运行时的系统 ,Java 程序就可在任意的处理器上运行。这些字节码指令对应于 Java 虚拟机中的表 示 ,Java 解释器得到字节码后 ,对它进行转换 ,使之能够在不同的平台运行。 (7) 可移植性 与平台无关的特性使 Java 程序可以方便地被移植到网络上的不同机器。同时 ,Java 的类库中也实现了与不同平台的接口 ,使这些类库可以移植。另外,Java 编译器 是由 Java 语言实现的 ,Java 运行时系统由标准 C 实现 ,这使得 Java 系统本身也具 有可移植性。 (8) 解释执行 Java 解释器直接对 Java 字节码进行解释执行。字节码本身携带了许多编译时信 息 ,使得连接过程更加简单。 (9)高性能 和其它解释执行的语言如 BASIC、 C 不同 ,Java 字节码的设计使之能很容易 地直接转换成对应于特定 CPU 的机器码 ,从而得到较高的性能。 (10)多线程 多线程机制使应用程序能够并行执行 ,而且同步机制保证了对共享数据的正确 操作。通过使用多线程 ,程序设计者可以分别用不同的线程完成特定的行为 ,而不需 要采用全局的事件循环机制 ,这样就很容易地实现网络上的实时交互行为。 (11)动态性 Java 的设计使它适合于一个不断发展的环境。在类库中可以自由地加入新的方 法和实例变量而不会影响用户程序的执行。并且 Java 通过接口来支持多重继承 ,使 之比严格的类继承具有更灵活的方式和扩展性。 西安石油大学毕业设计(论文) 8 3.2 概述 JSP JSP 即 Java Server Pages,它是由 Sun Microsystem 公司于 1999 年 6 月推出的新 技术,是基于 Java Servlet 以及整个 Java 体系的 Web 开发技术,是一种动态网页技 术标准。 JSP 规范是 Web 服务器,应用服务器,交易系统以及开发工具供应商间刚反合 作的结果。公司开发出这个规范来整合和平衡已经存在的规范,对 Java 编程环境进 行支持的技术和工具。起结果是产生了一中新的,开发基于 Web 应用程序的方法, 给予使用基于足见应用逻辑的页面设计者以强大的功能支持。 3.2.1 JSP 原理 在早期,开发网络数据库应用程序主要采用 CGI 技术( Common Gateway Interface 公用网关接口技术) 。编写 CGI 程序可以使用不同的程序语言,所以 CGI 技术已经发展成熟而且功能强大,但由于编程困难、效率低下、修改复杂等缺陷, 所以又逐渐被新技术取代的趋势。这些新技术中就有 Sun 的 Java/Jsp/Servlet,并且 Sun 的产品被认为是最有发展前途的动态网站技术。 在传统的网页 HTML 文件(*.htm,*.html)中加入 Java 程序片段(Servlet)和 JSP 标记( tag) ,就构成了 JSP 网页(*.jsp) 。 Web 服务器在遇到访问 JSP 网页的请求时,首先执行其中的程序片段,然后将 执行的结果以 HTML 格式返回给客户。程序片段可以操作数据库、重新定向网页等 等,这就是建立动态网站的功能。 JSP 基于强大的 Java 语言,具有良好的伸缩性,与 Java Enterprise API 紧密的集 成在一起,在网络数据库应用开发领域具有得天独厚的优势。主要的特点有以下几 点: (1) 将内容的生成和显示进行分离 使用 JSP 技术, Web 页面开发人员可以使用 HTML 或者 XML 标示来设计和格 式化最终界面。使用 JSP 标示或者小脚本来生成页面上的动态内容。生成内容的逻 辑被封装在标示和 JavaBeans 组件中,并且捆绑在小脚本中,所有的脚本在服务器 端运行。 在服务器端,JSP 引擎解释 JSP 标示和小脚本,生成所请求的内容(例如,通过 访问 JavaBeans 组件,使用 JDBC 技术访问数据库,或者包含文件) ,并且将最终结 果以 HTML 页面形式发送会浏览器。 (2) 生成可重用的组件 绝大多数 JSP 页面依赖于可重用的、跨平台的组件来执行应用程序所要求的更 为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件 为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并使 得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。 西安石油大学毕业设计(论文) 9 (3) 采用标示简化页面开发 通过开发定制标示库,JSP 技术是可以扩展的。今后,第三方开发人员可以为 常用功能创建自己的标示库。这使得 Web 页面开发人员能够使用熟悉的工具和如同 标示一样的执行特定功能的构件来工作。 (4) JSP 能提供所有 Servlets 功能 与 Servlets 相比,JSP 能提供所有的 Servlets 功能,它比用 Println 书写和修改 HTML 更方便。此外,可以在工作是分工更明确,Web 页面设计人员编写 HTML, 只需要留出空间让 Servlets 程序员插入动态部分即可。 (5) 一次编写,随处运行 作为 JAVA 平台的一部分,JSP 拥有 Java 编程语言的“一次编写,随处运行” 的特点。随着越来越多的供应商将 JSP 支持添加到他们的产品种,可以使用自己所 选择的服务器和工具,但并不影响当前的应用。 (6) JSP 的平台适应性更广 这是 JSP 的优势之处。几乎所有的平台都支持 Java、JSP+JavaBeans,他们可以 在任何平台下通行无阻。NT 下的 IIS 通过一个插件就可以支持 JSP,例如 JRUN 或 者 Tomcat,我们在本次课程设计中就使用的是 JRUN 4.0。著名的 Web 服务器 Apache 已经能够支持 JSP。由于 Apache 广泛的应用在 NT、UNIX 和 Linux 上,因 此 JSP 有更广泛的运行平台。从一个平台移植到另一个平台,JSP 和 JavaBeans 甚至 不用重新编译,因为 Java 字节码都是标准的字节码与平台无关。 (7) Java 中连接数据库的技术是 JDBC 很多数据库系统带有 JDBC 驱动程序,Java 就是通过 JDBC 驱动程序与数据库 相连,执行查询、提取数据等操作。Sun 公司还开发了 JDBC-ODBC Bridge,用此技 术 Java 程序就可以访问带有 ODBC 驱动程序的数据库,目前大多数的数据库系统都 带有 ODBC 驱动程序,所以 Java 程序能访问诸如 Oracle、Sybase、MS SQL Server 和 MS Access 等类型的数据库。 3.2.2 JSP 与其他技术的比较 谈到 JSP 技术就不可能不比较它同 ASP、PHP。ASP 和 PHP 这两种技术也是当 今网站编程的新技术,由于论述不能够明确的说明它们三者的优缺点,现在我列表 说明,如表 3.1 JSP、ASP、PHP 性能比较(引自 JSP 应用开发详解 P10) 西安石油大学毕业设计(论文) 10 表 3.1 JSP、ASP、PHP 性能比较 JSP ASP PHP 运行速度 快 较快 较快 运行耗损 较小 较大 较大 难易程度 容易掌握 简单 简单 安全性 好 较差 好 运行平台 绝大部分平台均可 Windows 平台 Windows/UNIX 平台 函数支持 多 较少 多 数据库支持 多 多 多 扩展性 好 较好 较好 对 XML 的支持 支持 不支持 支持 对组件的支持 支持 支持 不支持 厂商支持 多 较少 较多 对分布式处理的支持 支持 支持 不支持 应用程度 较广 较广 较广 由此不难看出,JSP 要比另外两种语言更具优越性。所以,我们选择了更优秀 的编程语言JSP。 3.3 JavaBeans JavaBeans 是 Sun 公司为进入因特网、企业网以及万维网上进行分布式计算的 组件结构的入口。按照 Sun 公司的定义, JavaBeans 是一个可重复使用的软件部件, 该部件可以用来生成其进行可视化处理的组件。 按照 JavaBeans 的说法,一个组件即 Java 应用程序或 Applet 的可重复使用的 部件就是一个 Bean。 JavaBeans 体系结构是第一个全面的基于组件的标准模型之一。JavaBeans 是描 述 Java 的软件组件模型。 JavaBeans 组件是 Java 类,这些类遵循一个接口格式,以 便于使方法命名、底层行为以及继承或实现的行为能够把类看作标准的 JavaBeans 组件的方式进行构造。 在 Java 模型中,通过 JavaBeans 可以无限扩充 Java 程序的功能,通过 JavaBeans 的组合可以快速生成新的应用程序。JavaBeans 具有以下的特点: 可以实现代码的重复利用 易维护性、易使用性、易编写性 西安石油大学毕业设计(论文) 11 可以在支持 Java 的任何平台上工作,而不需要重新编译 可以在内部、网内或者是网络之间进行传输 可以以其他部件的模式进行工作 JavaBeans 最大的优点就是能够一次编写、多次使用,而且能够运行在任何 Java 虚拟机能运行的地方,另外其代码相对来说也比较容易编写。这几个优点是 JavaBeans 的直接对手 ActiveX 所不可媲美的。 3.4 ODBC 开放数据库连接是提出的数据库访问技术,它将所有对数据库的底层操作全部 隐藏在其驱动程序内核中。使用 ODBC,程序员只要构件一个指向数据库的连接, 就可以采用同意的应用程序百年成接口实现对数据库的读写,而不用考虑数据库到 来自什么厂家和使用什么格式存储数据。ODBC 的工作原理入图所示。 目前,已经成为数据库访问集注的标准之一,各数据库厂商都提供响应的驱动 程序。 应用程序 图 3.4 ODBC 工作原理 3.5 JDBC 由于 Java 是一个健壮,安全,易于使用的,易于理解且可以从网络中自动 download ,所以它成为开发数据库应用的一种良好的语言基础。JDBC (Java DataBase Connectivity, Java 数据库连接)是使用 Java 语言实现的,在 Java 语言中 支持基本的 SQL 功能的通用应用程序编程接口(API) ,它实现了一个独立于特定 数据库管理系统 DBMS 的通用 SQL 数据访问和存储结构。使用 JDBC,可以在不 同的数据库功能模块层次上提供统一的用户界面,这样,开发法人员可以在简单的 数据库界面上实现不同的数据库连接,开发出功能强大的 Java 数据库应用程序。 ODBC API dBase 驱动程序 Access 驱动程序 Oracle 驱动程序 SQL Server 驱动程序 dBase 数据库 Access 数据库 SQL Server 数据库 Oracle 数据库 西安石油大学毕业设计(论文) 12 Java API 是通过一个驱动程序管理器实现的,它可支持连接到不同数据库的多 个驱动程序。JDBC 既可以全部由 Java 写成并作为 Applet 的一部分下载下来,也可 以通过连接已有的数据库访问库的方法来实现。 JDBC 驱动程序可分为四类: 1 JDBC-ODBC 桥:通过 ODBC 驱动程序提供 JDBC 访问,该驱动程序最适合 于商业网络或三层体系结构中当应用服务器层的代码是由 Java 写成时的情况,该驱 动程序的使用要求 ODBC 二进制代码必须在每个客户机上安装。 1 JDBC Native Bridge: JDBC Native 桥提供了一个建筑在本地数据库驱动上的 JDBC 接口。JDBC 驱动将标准的 JDBC 调用为对数据库 API 的本地调用,该类 型的驱动程序是本地部分 Java 技术性能的本机 API 驱动程序。 3 JDBC-Network Bridge: JDBC-Network 桥不需要客户的数据库驱动,而是使用 网络- 服务器中层来访问一个数据库。该类型的驱动程序是网络协议完全 Java 技术性 能的驱动程序,它为 Java 应用程序提供一种进行 JDBC 调用的机制。 4 Pure Java JDBC Driver:纯 Java 驱动运行在客户端,并且直接访问数据库,因 此运行这个模式要使用一个两层的体系。要在一个 n 层的体系中使用该类型的驱动, 可以通过一个包含数据访问代码的 EJB,并且让 EJB 为它的客户提供一个与数据库 无关的服务。 目前,使用 ODBC API 几乎可以将所有平台的关系数据库连接起来,是关系型 数据库应用中使用最广泛的编程接口。在 Java 中,可以在 JDBC 的帮助下通过 JDBC-ODBC 桥连接方式实现。 我们这个系统是基于 Web 页的库存管理系统,所以后台数据库与前台的连接是开发 系统的第一步。我们使用的网络编程语言是 JSP,而 JSP 提供的连接方式有 4 种。 由于 JDBC-ODBC 连接简单,连接速度较快,适合库存管理系统的后台数据库连接。 所以我们选择的是 JDBC-ODBC 连接方式。具体连接步骤可以分为 2 步。 (我们以 windows2000 系统为例) 选取系统的控制面版中“管理工具”的“数据源 (ODBC)”选项。 打开 “数据源 (ODBC)”选项,单击“添加(D). ”选择“Driver do Microsoft Access”,然后进行相应的数据库选择。完成这一步后,数据库也就可以被系统所 调用了。在下一步就要建立后台数据库和 Web 中程序的连接。 要在用 JSP 编写的 Web 中调用数据库的数据,必须编写一个 JavaBeans 文件 来封装数据库的连接。我们编写了一个名为“work_access.java”的文件,我们将 西安石油大学毕业设计(论文) 13 这个文件放于 JRun4 的目录下,具体位置是: C:JRun4serversdefaultdefault-eardefault-war web-infclasseslogin work_access.java 中建立连接的代码如下: con= DriverManager.getConnection(sConnStr,); Statement stmt=con.createStatement(); 做完这 2 步的工作我们所设计的后台数据库就和 Web 前台连接起来了,可以 在 Web 中用 JSP 程序来对数据库中的数据进行操作了。 西安石油大学毕业设计(论文) 14 4 总体设计 4.1 可行性分析 我们这个系统的可行性分析从经济可行性、技术可行性和运行可行性 3 方面进 行分析。 经济可行性 从企业用户的角度来说,建立商品库存管理系统所需要的基本硬件配置有: 一台性能较好的计算机,最好有 128M 以上的内存,奔腾 III 上的芯片,否则在 运行数据库数据较多的时候运行速度很慢。 对软件的要求,机器的操作系统为 WIN2000 或 WINNT,并且有自己的网站。这些软硬件配置相对于一般企业来 说应该能够接受。 从所带来的社会经济效益角度来看,实现库存货物,其他一些数据,如客 户情况,进行数据管理,管理员可以坐在电脑前就可以对这些数据进行加工处 理,不用像从前一样需要培养多年才能熟练的工作,节省了大量宝贵的时间, 从而提高了工作效率。 技术可行性 从 INTERNET 网的普及以来,网络的数据流量是越来越大,网络的应用也 越来越广泛。而 Java 技术也日臻完善,每一种操作系统都支持 Java 技术,而 且越来越多的计算机专业人才也对 Java 技术产生了浓厚的学习兴趣,这也就使 得 Java 技术越来越普及。并且 Java 技术拥有多种优势,比如:简单、面向对象、 分布式、解释执行、自动检错等等,而 JSP 技术又是基于 Java 技术的网站开发 语言,所以它不但有 Java 技术的多种技术优势,而且又在 Java 技术的基础上进 一步改良。所以 JSP 技术及保持了 Java 使用人数多、普及广泛的优势,又比 Java 技术更加实用,对于有 Java 基础的人来说又很好掌握。 运行可行性 目前,我国正面临着企业改革的艰巨任务,深化改革必须重视企业的数字 化、自动化,以商品的库存管理自动化作为企业规范化管理的方案已经成为企 业的首选。这就需要我们国家的程序员编写出完善的商品库存管理软件,虽然 已经出现了不少的这类软件,但是因为产品生产的复杂性和数据库表的不一致 性,使得很难做出一个通用的企业需要的管理软件。对于企业来说,想要修改 已经做好的管理软件也是很困难的,这些都制约着管理软件在企业中的应用, 但企业实现管理自动化、数字化已经是不争的发展趋势。 4.2 需求分析 需求分析的任务是在需求调查的基础上,结合组织目标,业务现状,技术水平, 投资能力等因素,对用户提出的需求从信息系统目标,宏观结构,业务功能,技术 西安石油大学毕业设计(论文) 15 性能,风险等方面进行深入分析,最后确定出全面,合理,可行的信息系统需求。 目标分析是对信息系统所要达到的目标的分析。信息系统的目标应该服从于组 织系统的目标,并且是组织目标的有机组成部分。信息系统的目标应该由组织木笔 到处,并于组织使命,目标,策略等构成塔型结构。 信息系统分析应该首先调查高层领导的各级用户对信息系统目标的考虑,并认 真分析组织的使命,方向,目标和策略,组织环境,技术,资金等制约条件,在此 基础上,确定出可行的组织信息系统的目标。 当今,各种网上商店都模拟超市的购物模式,提供购物车功能来临时保存用户 想购买的哂纳高频内容,在用户确认购买后与用户信息一起保存到数据库中,因此 购物车是实现网上购物的一个重要环节。 1. 目标:实现网上购物图书功能。 2. 功能分析: 放入购物车 查看购物车 可以对网上图书进行确认所购图书,填写定单信息。 对于企业的人事进行一定程度的管理 3性能分析: 采用 Web 的方式进行数据库方式,可以实现网上购物图书。 由于计算机的普及,系统对于计算机要求也不高,所以可以很容易实现 由于采用 JSP 所以系统安全性高 4风险分析:主要风险是由于技术原因和环境原因引起的,解决的方法是开发 时要慎重、全面的考虑各方面因素,避免这种风险发生。 4.3 系统分析 在进行动态交互式网络系统 网上书店系统设计时,考虑到该系统应具有强大的 交互能力及数据处理能力,本系统采用了 JSP Dreamweaver MX 2004 方案去实现 用户查询的交互界面,而后台数据库则采用 Microsoft Access 2003。构造这个系统之 前,我们因该对此系统有个总体的思考,从程序实现功能,程序的目录框架结构, 到编程当中可能遇到的问题以及该程序以后的可扩展性有个总体的把握,这样不必 要的麻烦。 西安石油大学毕业设计(论文) 16 5 详细设计 5.1 数据库设计 图书信息的表结构,为了便于说明,其中 bookISBN 是主键,区分不同的图书。 JavaBeans 要根据不同的图书 bookISBN 来获得起相应的书名,作者,出版社,价格, 简介等信息。同时 JavaBeans 还要有列出书店中所有图书的信息的功能。 表 5.1 bookinfo 图书的信息 序号 字段名 类型 是否可置空 含义 是否是关键字 1 bookISBN 文本 否 图书编号 是 2 bookName 文本 否 书名 否 3 bookAuther 文本 否 作者 否 4 publisher 文本 否 出版社 否 5 price 文本 否 价格 否 6 introduce 文本 否 简介 否 表 5.2 buyerInfo 会员信息库 序号 字段名 类型 是否可置空 含义 是否是关键 字 1 memberID 文本 否 用户代码 是 2 membername 文本 否 用户名称 否 3 logonTimes 文本 否 登陆次数 否 4 pwd 文本 否 密码 否 5 phoneCode 文本 否 电话 否 6 Zipcode 文本 否 邮政编码 否 7 address 文本 否 地址 否 8 email 文本 否 电子邮件地址 否 表 5.3 orderdetail 定单明细 西安石油大学毕业设计(论文) 17 序号 字段名 类型 是否可置空 含义 是否是关键字 1 orderID 数字 否 定单号 是 2 bookISBN 文本 否 书号 是 3 bookcount 数字 否 数量 否 表 5.4 orderInfo 定单信息表 序号 字段名 类型 是否可置空 含义 是否是关键字 1 orderID 文本 否 是 2 userID 文本 否 会员 ID 否 3 receiverName 文本 否 接受者姓名 否 4 receiverAddress 文本 否 接受者地址 否 5 receiverZip 文本 否 接邮政编码 否 6 orderRem 文本 否 备注 否 7 orderPrice 文本 否 否 8 orderdate 文本 否 否 9 handled 数字 否 否 我们网上书店的会员信息的库结构其中用户代码是 memberID 主键,由于区分 不同的会员,新会员注册时只能使用没有被使用的拥护代码。 在验证时要看用户 bemberID 和 pwd 其是否一致即可判断该拥护是否合法。 西安石油大学毕业设计(论文) 18 5.2 主页设计 图 5.1 主页界面 主页由 Dreamweaver MX,做出来的,比较简单,在本页上主要有用户登录页 面,书的分类,还有一些关于主页的信息,还有精美图片等。 网上浏览图书时,可以通过按图书类别,综合查询,精品图书等多种方式来查 询找需要的图书。 进入用户登录后重新核对自己所选购的商品信息,确认购买后,填写定单购图 书所需要信心。 会员正确登录之后。即可进入书店进行选书,我们已经在中将会员的代码房入 系统的中,为了保证用户只能从主页面登录进入书店,我们在给会员显示可供选择 的图书之前,先检查中是否有合法值,如果没有则提示用户先去登录。 已经进入过的会员和没有没有进入过的会员进入的页面的结构都分别显示。 西安石油大学毕业设计(论文) 19 5.3 登录界面设计 图 5.2 用户登录界面 登录过程就是用户提交帐号和密码,在数据库中查找该用户是否存在的过程。 会员登录要有两个部分完成,第一个页面用语会员输入其 ID 和密码。 在本页中提供了一个文本框供拥护输入会员代码和登录密码,运行结果验证该 网络用户是否是合法会员。 会员正确登录之后。即可进入书店进行选书,我们已经在中将会员的代码房入 系统的中,为了保证用户只能从主页面登录进入书店,我们在给会员显示可供选择 的图书之前,先检查中是否有合法值,如果没有则提示用户先去登录。 已经进入过的会员和没有没有进入过的会员进入的页面的结构都分别显示。 正确登录的会员代码在浏览器的标题栏显示为:member:“会员代码” 。 西安石油大学毕业设计(论文) 20 图 5.3 会员正确登录 图 5.4 会员未登录界面 西安石油大学毕业设计(论文) 21 5.4 购物车设计 图 5.5 购物车界面 图 5.6 清空购物车的页面 当今,各种网上商店都模拟超市的购物模式,提供购物车功能来临时保存拥护 想购买的哂纳高频内容,在用户确认购买后与拥护信息一起保存到数据库中,因此 西安石油大学毕业设计(论文) 22 购物车是实现网上购物的一个重要环节。 购物车的实质是,将在浏览商品过程中决定购买的商品信息保存在 Session 对象 或 Kookies 集合中,在用户需要查看时显示出来并允许用户进行更改和删除的操作。 只要在用户确认购买后,才提交保存到数据库中。可以自己编写脚本程序来实现购 物车功能,但需要手工编写大量代码和占用较多的调试时间,精力。 当客户将要购买的图书放到购物车中后,他随时会查看购物车中自己选定的图 书,特别是将要决定去收银台付帐时。通常,在购物车中应该包含图书的书号,单 价,书名,选购的数量,金额和总金额,并且允许客户在购物车的数据显示和更改 功能。 图 5.7 放入购物车 在用户确认购买后,然后把书放在购物车中,才提交保存到数据库中,即可可进 入书店进行选书。 图 5.8 提交定单界面 本页你要填写一下信息并提交定单,必须填满每个需要的信息,然后可以才完成 网上订书。 西安石油大学毕业设计(论文) 23 图 5.9 定单正确提交 西安石油大学毕业设计(论文) 24 结束语 以上 4 章节描述了基于 Web 的库存管理系统的整个过程以及开发中所用到的核 心技术。以及所能运行的环境和开发环境。经测试、运行较好的实现了其功能,基 本达到了毕业设计的目的。由于时间短,对所用的技术不是很熟悉,所以难免有一 些错误的地方。希望大家批评指正。 通过这次毕业设计,我了解到了自己的不足,团队合作的重要,这些宝贵的经 验将会促进我在今后的工作、学习中不断努力。 西安石油大学毕业设计(论文) 25 参考文献 1 荣欣科技主笔室 最新 JSP 入门与应用 北京 中国铁道出版社 2001 2 吴其庆 JSP 网站设计经典教程 北京 冶金工业出版社 2001 3飞思科技产品研发中心 JSP 应用开发详解北京 电子工业出版社 2002 4周继恩 网络数据库应用与开发教程北京 电子工业出版社 2002 5夏帮贵、刘凡馨JDBC API 数据库编程实作教程 北京 北京希望电子出版社 2001 6 铁军 Web 数据库技术 北京 清华大学出版社 2004 7 赛奎春 JSP 工程应用与项目实践 北京 机械工业出版社 2005 8 卫红春 信息系统分析与设计 西安 西安电子科技大学出版社 2004 西安石油大学毕业设计(论文) 26 致 谢 通过这次的毕业设计,我学到了不少的知识,熟悉了 JSP 编程,数据库的使用, 数据库的 Access 语言的使用。也使用了这些学到的东西完成了我的毕业设计,因为 只有短短几个月的时间,我的设计还不是很完善,我想这还需要我在以后的工作中 多多的磨练,才能熟练的掌握这些知识。 在本次毕业设计期间,有许多的老师和同学热心地帮助过我,在此我要向帮助过 我的老师和同学们表示最衷心的感谢。 特别感谢我的指导老师朱战立老师。在这两个多月里他给予我无私的指导、鼓 励和关心,使我学到许多新思路、新方法。我还要感谢何劲同学,同他有益的探讨 使我收益非浅。 感谢评阅老师在百忙之中抽处时间评阅我的论文。 西安石油大学毕业设计(论文) 27 毕业设计小结 该系统基本实现了对于网上书店购买图书的目的。实现对数据库中的数据进行 查询,添加新记录,更新记录和删除记录的操作。其中采用第三方提供的查件来实 现购物车的设计,而不是自己设计,目的在于向读者介绍充分利用第三方软件来快 速建立应用程序的方法。 当然,由于时间短暂,加之对网上书店系统的了解不够,程序中肯定还存在不 足之处,欢迎提出宝贵的意见,共同探讨、修正其中的错误。在设计过程中,除参 考了大量的资料及网络资源外,还有朱战立老师的悉心指导,以及与同学有益的讨 论,没有他们的指导及帮助,也就没有此程序的顺利完成。在此,衷心谢谢朱战立 老师和同学! 西安石油大学毕业设计(论文) 28 附 录 用户登录的代码: 网上书店系统 欢迎使用网上书店系统 登录 会员登录名: 西安石油大学毕业设计(论文) 30 会员口令: 支持电话:029- 00000000 *建议使用 IE5.5 或以上版本,800 x 600 分辨 率* 西安石油大学毕业设计(论文) 31 Copyright 2005 mila . All Rights Reserved 购物车实现代码: 查看购物车-member: 网上书店购物车 ISBN 书 名 单 西安石油大学毕业设计(论文) 32 价 数 量 0) /如果购物车中已经有商品时 for(int i =0 ;i A href=bookinfo.jsp?isbn= INPUT size=5 type=text maxlength=5 value= name=num readonly A href=delbook.jsp?isbn=删除 西安石油大学毕业设计(论文) 33 返回首页 清空购物车 修改数量 填写/ 提交订单 西安石油大学毕业设计(论文)
展开阅读全文