学号
2017-2018 学年 第 2 学期
《JavaWeb 程序设计》
课程设计报告
题 目 :
失物招领系统
专 业 :
班 级 :
姓 名 :
指导教师:
成 绩 :
计算机学院
2018 年 5 月 31 日
目录
1 设计内容及要求............................................................................................... 1
1.1 选题的来源及意义................................................................................. 1
1.2 选题的研究现状..................................................................................... 1
2 系统需求分析.................................................................................................... 1
2.1 系统需求分析......................................................................................... 1
2.2 本系统采用的关键技术......................................................................... 2
3 系统概要设计.................................................................................................... 5
4 系统详细设计.................................................................................................... 6
4.1 数据库设计............................................................................................. 6
4.2 系统 E-R 图.............................................................................................9
4.3 处理流程设计....................................................................................... 10
4.4 系统模块设计....................................................................................... 13
5 系统调试与测试.............................................................................................. 16
5.1 程序调试.............................................................................................. 16
5.2 程序的测试.......................................................................................... 16
6 结论.................................................................................................................. 18
6.1 系统评价.............................................................................................. 18
6.2 安全性问题.......................................................................................... 18
7 参考文献.......................................................................................................... 19
计算机学院 《JavaWeb 程序设计》课程设计报告
1 设计内容及要求
1.1 选题的来源及意义
这次我们所设计的课题正是互联网与社会生活之间的紧密关系的体现。现今
的社会,人们已经离不开了网络,网络已经成为人与人之间交流的一种形式。失
物招领在线交易平台的建设能够使失主最快的领回自己丢失的物品。而且通过这
次开发,提高自己的编程水平,对工作本领打下坚实基础。
近年来计算机技术的快速发展,特别是计算机网络的发展,越来越深刻的改
变了人们生活的方方面面。使得人们能以更低廉的价格,开发出更方便、更实用
的网络工具。各种在线服务系统,更是深刻的影响了人们的联系方式,使得人们
可以在远隔千里之遥随时通讯。过去的种种陈旧的联系方式,已经不能满足现代
生活的需要。失物招领在线交易平台作为一种方便失主与拾获者之间联系的实用
系统便应运而生。失物招领在线交易平台是为失主与拾获者之间进行失物招领提
供的一个平台。
1.2 选题的研究现状
从国内关于网站可用性的研究现状可知,国内对失物招领在线交易平台可用
性的研究成果相对较少,与国外同类研究相比还存在着很大的差别。我国对失物
招领在线交易平台的可用性研究还停留在比较初级的阶段,实证性的研究凤毛麟
角,可用性评价指标体系不全,尚不能对失物招领在线交易平台的可用性做出客
观全面的评价,失物招领在线交易平台可用性的研究还有待于深化。
而国外的失物招领在线交易平台已经领先国内很长一段时间,用户可以通过
失物招领在线交易平台来实现招领失物的目的,所以应该向国外的先进的失物招
领在线交易平台学习,建立起自己的失物招领在线交易平台网站,使失物招领更
快地进入计算机网络时代。
2 系统需求分析
2.1 系统需求分析
采用 web 应用开发技术设计并实现一个失物招领在线交易平台。该系统能
够实现用户浏览查询功能,用户登录,管理员管理失物招领信息等功能。系统采
用 B/S 模式。整个系统最关键的就是数据库系统,一个强大的数据库可以支持完
善一个优秀的软件设计,通过软件系统与数据库系统的连接来实现通过软件界面
观察和处理操作数据。
1
计算机学院 《JavaWeb 程序设计》课程设计报告
JavaBean
组件
SQLServer2000
JS 网页
Browser
表示逻辑
WWW 服务器/业务逻
辑服务器
中
间
件
Jdb
c
数据库服务器
事件
事
务逻辑
数据
数
据逻辑
数
据
库
Browser
表示逻辑
Client
业务服务器
数据库服务器
图 1 系统模式图
系统采用三层结构,在客户端用户通过浏览器完成数据下载与模拟操作,浏
览器端的表现逻辑通过 JSP 网页完成。而系统内部复杂的业务逻辑主要通过
JavaBean 的组件(Component)实现,JavaBean 组件在 WWW 服务器上运行,
通过 JSP 返回到客户浏览器。通过表现逻辑与业务逻辑的分离,使网页内容简洁,
系统的可维护性和可扩充性增强。在服务器端,系统使用 JDBC 中间件访问数据
库,数据库服务器定义了本系统所需要的事务逻辑和数据逻辑。本系统使用 JSP
技术作为表现手段,服务器采用 Tomcat 5.0.3 作为 JSP 引擎,系统业务逻辑由
JavaBean 组件完成,使用 JDBC 3.0 驱动程序访问数据库。由于系统测试需要成
熟的数据库支持,因此系统采用 SQL Server 2000 数据库作为数据库服务器。
2.2 本系统采用的关键技术
2.2.1JSP 技术
JSP 是由 Sun 微系统公司于 1999 年 6 月推出的一项技术,是基于 JavaServlet
以及整个 Java 体系的 Web 开发技术,利用这一技术可以建立先进、安全和跨平
台的动态网站。JSP 技术在多个方面加速了动态 Web 页面的开发。它主要有如
下几个方面的特点:
1.将内容的生成和显示进行分离
使用 JSP 技术,Web 页面开发人员可以使用 HTML 或者 XML 标识来设计
和格式化最终页面。使用 JSP 标识或者脚本来生成页面上的动态内容(内容是根
据请求来变化的,例如请求帐号信息或者一本书的价格)。生成内容的代码被封
装在 Servlet 和 JavaBean 组件中,并且结合在脚本中,所有的脚本在服务器端运
行。
JSP 引擎解释 JSP 标识和脚本程序,生成所请求的内容(例如,通过访问
JavaBean 组件,使用 JDBC 技术访问数据库,或者包含文件),并且将结果以
HTML(或者 XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,
而又保证任何基于 HTML 的 Web 浏览器的完全可用性。
2.强调组件的重用
绝大多数 JSP 页面依赖于可重用的、跨平台的组件(JavaBean 或者 Enterprise
JavaBean 组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和
2
计算机学院 《JavaWeb 程序设计》课程设计报告
交换执行组件,或者使得这些组件为更多的使用者或者客户团体所使用。此方法
加速了总体开发进程。
3.采用标识简化页面开发
Web 页面人开发人员不都是熟悉脚本语言的编程人员。JSP 技术封装了许多
功能:访问和实例化 JavaBean 组件、设置和检索组件的属性、下载 Applet 以及
执行用其他方法更难于编码和耗时的功能。
JSP 技术可以通过开发定制的标识库进行扩展。第三方开发人员和其他人员
可以为常用功能创建自己的标识库。这使得 Web 页面开发人员能够使用熟悉的
工具和如同标识一样执行特定功能的组件来工作。
当与 Java2 平台、J2EE 和 Enterprise JavaBean(EJB)技术整合时,JSP 页面
将提供企业级的扩展性和性能,这对于在企业中部署基于 Web 的应用是必需的。
与微软公司的 ASP 技术相比,JSP 具有如下优点:
(1) 开放的技术:JSP 技术基于平台和服务器的相互独立,技术支持来自广
泛的、专门的、各种工具包,有服务器的组件和数据库产品开发商提供。相比之
下,ASP 技术主要依赖 MICROSOFT 支持。
(2) 平台和服务器的独立性:JSP 编写的代码可运行在任何符合 JAVA 语法
结构的环境中。这样 JSP 就能够运行在多种 WEB 服务器上并支持来自多家开发
商提供的各种工具包。
(3) 开放的开发过程,开放的源码:自 1995 年以来,SUN 用开放过程方法
同国际 JAVA 组织合作开发和修改 JAVA 技术和规范。
(4) JSP 标记可扩充性:JSP 技术能够为开发者扩展 JSP 标记,充分利用与
XML 兼容的标记技术强大的功能,大大减少对脚本语言的依赖。
(5)JSP 跨平台的可重用性:JSP 组件(EJB,JavaBean 或定制的 JSP 标记)
都是跨平台可重用的。
2.2.2JavaBean 技术
JSP 作为一个很好的动态网站开发语言得到了越来越广泛的应用,在各类
JSP 应用程序中,JSP + JavaBean 的组合成为了一种事实上最常见的 JSP 程序的
标准. JavaBean 是描述 Java 的软件组件模型,有点类似于 Microsoft 的 COM 组件
概念。在Java 模型中,通过JavaBean 可以无限扩充Java 程序的功能,通过JavaBean
的组合可以快速的生成新的应用程序。对于程序员来说,最好的一点就是
JavaBean 可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的
意义。JavaBean 通过 Java 虚拟机(Java Virtual Machine)可以得到正确的执行,具
有平台无关性。
一个 JavaBean 有三个部分组成:
属性(Property)
Bean 的属性就是对象的属性,但提供了属性读取和设置的接口支持。例如
一个时钟 Bean 可以有时区和镇铃属性,日历 Bean 可以有年份和月份属性。每个
属性通常遵守简单的方法命名规则。这样可以很方便的找出 Bean 提供的属性,
然后查询属性值或改变属性值,对 Bean 进行操作。
方法(Method)
由于 Bean 本身是 Java 对象,调用这个对象的方法是与其交互作用的唯一途
径。JavaBean 严格遵守面向对象的类设计逻辑,不让外界访问其任何实例字段(没
有 Public 字段)。这样,方法调用的是接触 Bean 的唯一途径。
3
计算机学院 《JavaWeb 程序设计》课程设计报告
事件(Event)
Bean 与其他软件组件交流信息的主要方式是发送和接收事件。这与对象之
间通过消息通信类似。
JavaBean 传统的应用在于可视化的领域,如 AWT 下的应用。自从 JSP 诞生
后,JavaBean 更多的应用在非可视化领域,在服务器端应用方面表现出来了越来
越强的生命力。利用非可视化 JavaBean, 来封装事务逻辑、数据库操作等等,可
以很好地实现业务逻辑和前台程序(如 JSP)的分离,使得系统具有更好的健壮性和
灵活性。2.2.3JDBC 技术
JDBC 是 Java 的开发者——Sun 的 JavaSoft 公司制定的 Java 数据库连接
JavaDataBaseConnectivity 技术的简称,是为各种常用数据库提供无缝联接的技术。
JDBC 在 Web 和 Internet 应用程序中的作用和 ODBC 在 Windows 系列平台应用
程序中的作用类似。JDBC 有一个非常独特的动态连接结构,它使得系统模块化。
使用 JDBC 来完成对数据库的访问包括以下四个主要组件:Java 的应用程序、
JDBC 驱动器管理器、驱动器和数据源。简单地说,JDBC 能完成下列三件事:
(1)同一个数据库建立连接;
(2)向数据库发送 SQL 语句;
(3)处理数据库返回的结果。
JDBC 是 一 种 可 用 于 执 行 SQL 语 句 的 JavaAPI
(ApplicationProgrammingInterface,应用程序设计接口)。它由一些 Java 语言写
的类、界面组成。JDBC 给数据库应用开发人员、数据库前台工具开发人员提供
了一种标准的应用程序设计接口,使开发人员可以用纯 Java 语言编写完整的数
据库应用程序。
通过使用 JDBC,开发人员可以很方便地将 SQL 语句传送给几乎任何一种数
据库。也就是说,开发人员可以不必写一个程序访问 Sybase,写另一个程序访问
Oracle,再写一个程序访问 Microsoft 的 SQLServer。用 JDBC 写的程序能够自动
地将 SQL 语句传送给相应的数据库管理系统(DBMS)。不但如此,使用 Java
编写的应用程序可以在任何支持 Java 的平台上运行,不必在不同的平台上编写
不同的应用。Java 和 JDBC 的结合可以让开发人员在开发数据库应用时真正实现
“WriteOnce,RunEverywhere!”
Java 具有健壮、安全、易用等特性,而且支持自动网上下载,是一种很好的
与数据库线连接而使用的编程语言。它所需要的是 Java 应用如何同各种各样的
数据库连接,JDBC 正是实现这种连接的关键。
JDBC 扩展了 Java 的能力,如使用 Java 和 JDBCAPI 就可以公布一个 Web
页,页中带有能访问远端数据库的 Applet。或者企业可以通过 JDBC 让全部的职
工(他们可以使用不同的操作系统,如 Windwos,Machintosh 或 UNIX)在 Intranet
上连接到几个全球数据库上,而这几个全球数据库可以是不相同的。
2.2.4 用JDBC 访问数据库
序。
4
所 有 的 数 据 库 的 对 象 和 方 法 都 在 java.sql.* 里 面 , 所 以 首 先 要 import
java.sql.*,要想连接数据库,首先要将驱动程序调入。
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");这是 JDBC-ODBC 的驱动程
计算机学院 《JavaWeb 程序设计》课程设计报告
要想连接一个指定的数据库,必须创建 Connection 类的一个实例。
String url = "jdbc:odbc:Grocery prices";
Connection con = DriverManager.getConnection(url);
注意在此用到的数据库名称是在 ODBC 设置控制面板中输入的数据资源名。
URL 语 法 对 于 不 同 类 型 的 数 据 库 会 很 不 一 样 。 语 法 是 这 样 的 :
jdbc:subprotocol:subname 开头都是 JDBC,后面是子协议,然后是 ODBC 名称。
若要使用纯 JDBC 驱动程序,必须安装第三方软件提供的驱动程序,一般在
数据库的官方网站上可以找到这里不做讨论。
本系统采用 JDBC-ODBC 的驱动程序连接数据库,并使用 JavaBean 组件,
有效的避免了代码的重复。
3 系统概要设计
根据系统的功能需求分析,将本系统划分为以下几大模块:
用户
失
物
认
领
系
统
注册会员
认领失物
搜索物品
修改个人信息
会员交流
在线交流管理
管理员
会员管理
失物招领管理
认证信息管理
主要功能介绍:
图 2 功能实现
用户注册:如果用户要求发布信息,就必须注册成会员。
用户浏览物品:用于用户浏览物品信息。
会员添加物品:用户成功登录后才能使用,失物信息会显示在前台页上。
用户或会员搜索物品: 用于用户或会员搜索物品信息。
会员删除物品:用户成功登录后用于删除已经发布的信息。
会员修改物品:用于用户修改物品信息,必须先注册成会员。
5
计算机学院 《JavaWeb 程序设计》课程设计报告
会员修改个人信息:用户成功登录后用与修改信息。
会员之间发消息:用于会员之间的交流。
会员认领物品等功能:用户会员用户认领失物。
管理会员信息:此模块只有管理员才允许使用,用来删除某会员的信息。
管理失物信息:此模块只有管理员才允许使用,用来删除某失物的信息。
管理认领物品:用来管理用户认领物品。
4 系统详细设计
4.1 数据库设计
数据字典是系统分析阶段的重要文档,也就是对数据流图中包含的所有元素
的定义的集合。数据字典是为了数据流图中的每个数据流、文件、加工,以及组
成数据流或文件的数据项作出说明。任何字典最主要的用途是在软件分析和设计
的过程中给人提供关于数据的描述信息。
数据字典中包含的每个数据元素的控制信息时很有价值的。因为列出了使用
一个给定的数据元素的所有程序,所以很容易估计改变一个数据将产生的影响,
并且能对所有受影响的程序或模块做出相应的改变。数据流图表达了数据和处理
的关系,数据字典则是系统中关于数据的信息的集合,也就是对数据流图中包含
的所有元素的定义的集合。数据字典的作用正是在软件分析和设计过程中给人提
供关于数据的描述信息。一般说来,数据字典应该由下列 4 类元素的定义组成:
数据流、数据流分量、数据存储、处理 。
下面为本系统的数据字典:
数据流名称:用户登录信息
别名:无
简述:用户登录时填写的信息
来源:用户
去向:用户登录
数据流量:500 份/天
组成:用户名+密码
表 1 用户登录信息
1
2
Adminname
Adminpassword
Varchar
Varchar
管理员名
管理员密码
6