




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计说明书 论文 作 者 学 号 院 系 专 业 题 目 图书管理系统的设计与实现图书管理系统的设计与实现 指导者 评阅者 毕毕业业设设计计说说明明书书 论论文文 中中文文摘摘要要 二十一世纪是信息的社会 信息作为社会最主要的资源 将成为战略资源引 起人们广泛的关注 如何获取信息 图书是我们最好的获取信息的方式 书籍是 人类不可缺少的精神食粮 尤其对一些学校来说 尤其重要 所以图书馆管理系 统应该能够为用户提供充足的信息和快捷的查询手段 WEB 图书管理系统的主要特点是利用了网络 他给读者和图书馆之间提供了 一个交互的电子平台 使得读者通过网络就能轻松查询到图书馆的相关信息 极 大地方便了读者 也提高了图书馆的效率 采用 JSP 技术开发一个图书管理系统 在开发过程中 研究 JSP 技术在实际网站开发中的应用 采用了 SQL 技术对数据 库进行操作 研究了网站的三层架构 MVC 模式 关关键键词词 Web SQL JSP MVC 毕毕业业设设计计说说明明书书 论论文文 外外文文摘摘要要 TitleTitle The Design And Implement Of Library Management System AbstractAbstract The 21st century will be the information society the information took the social most main resources will become the strategic resources to arouse the people widespread interest How gains the information The books are we best gain information ways the books is humanity s essential spiritual food especially to some schools especially important Therefore the library management system should be able to provide the sufficient information and the quick inquiry method for the user WEB library management system is to use the main features of the network he gave readers and library to provide an interactive electronic platform making the reader easily through the Internet for information related to the library Greatly facilitate the readers but also improve the efficiency of the library JSP technology used to develop a library management system In the process of the development JSP technology be researched in practical application development site SQL technology be used in operating data from database The MVC model also be researched in the web KeywordsKeywords Web SQL JSP MVC 目 录 前 言 1 第一章 技术概览 3 1 1 JSP 技术 3 1 2 SQL 技术 6 第二章 图书管理系统的需求分析 9 2 1 系统的需求分析 9 2 2 权限需求分析 10 第三章 图书管理系统的数据库设计 11 3 1 数据库设计 11 第四章 图书管理系统的模块设计 17 4 1 图书管理系统框架设计 17 4 2 帐户管理模块设计 19 4 3 查询模块 23 4 4 图书管理模块设计 24 4 5 系统其他功能设计 29 第五章 系统的测试与部署 33 5 1 测试的目的和定义 33 5 2 图书系统的测试 33 5 3 系统的部署 34 结束语 35 参考文献 36 致 谢 37 附录 英文技术资料翻译 38 1 前 言 1 研究背景 图书馆是校园的一部分 是校园内尤其是一所名牌大学内一个举足轻重的 单位 图书馆的服务工作与全校教学 科研以及学习生活密切相关 在此背景 下开发一个图书管理系统显得格外重要 这方便了学校图书资料的统一管理 也方便了学生对于图书信息的查询 借阅 2 研究课题的现状 图书馆学在我国发展较快 成绩显著 它作为一门具有现代科学意义的学 科 在我国的出现始于 20 世纪初 经过近百年的发展 已逐渐形成一定的中国 特色 建国 50 余年以来 我国的图书事业渐成规模 形成了一个布局合理 藏 书比较丰富 具有全国规模的图书馆事业体系 尤其是改革开放近 20 年以来 通过对外交流 通过引进 介绍 移植 我国在图书馆学理论方面出了不少成 果 并加强了对图书馆现代技术的研发利用 图书馆正在逐步走向数字化 电 子化和网络化 图书事业正在成为我国社会生活中一个重要的信息产业部门 然而 作为国际性学科的图书馆学 其发展水平在国际上不具有可比性 与发 达国家相比 无论在理论研究还是实际情况方面 我国的图书事业都还确实存 在一定差距 这必将对我国的现代化建设和未来的综合发展产生不利影响 当 此国家实施科教兴国战略之际 我国政府和图书业界都在不断努力 试图创建 出一个更加美好的图书业的未来 3 主要研究内容 图书管理系统的开发 主要涉及到数据库操作技术以及各个模块的设计 在设计过程中 主要包括 WEB 页面的设计 数据库设计和帐户信息管理权 限的分类 WEB 页面的设计使用了 HTML CSS JS 等技术 数据库设 计使用 SQL Server2000 帐户信息管理使用 JAVA SQL 语言编写程序来 实现 2 4 论文结构 第一章介绍了图书管理系统的相关技术 第二章介绍了图书管理系统设计的需求分析 第三章介绍了图书管理系统的数据库设计 第四章介绍了图书管理系统的模块设计 第五章图书管理系统的测试及部署 3 第一章 技术概览 1 1 JSP 技术 Web 服务从由简单网页构成的静态服务网站 发展到可以交互执行一些 复杂步骤的动态服务网站 这就需要和其他服务整合 需要多个服务能够一 起无缝地协同工作 需要能够创建出与设备无关的应用程序 需要能够容易 地协调网络上的各个服务的操作步骤 容易地创建新的用户化的服务 JSP 技术可以以一种简捷而快速的方法生成 Web 页面 使用 JSP 技术的 Web 页面可以很容易地显示动态内容 JSP 技术的设计目的是使得构造基于 Web 的 应用程序更加容易和快捷 而这些应用程序能够与各种 Web 服务器 应用服务 器 浏览器和开发工具共同工作 JSP 技术不是惟一的动态网页技术 也不是 第一个 在 JSP 技术出现之前就已经存在几种优秀的动态网页技术 如 CGI ASP 等 基于 Java 语言的 JSP 技术具有很多其他动态网页技术所没有的特点 具体表 现在如下方面 简便性和有效性 JSP 动态网页的编写与一般的静态 HTML 的网页编写是十分相似的 只是在 原来的 HTML 网页中加入一些 JSP 专有的标签 或是一些脚本程序 此项不是必 需的 这样 一个熟悉 HTML 网页编写的设计人员可以很容易进行 JSP 网页的 开发 而且开发人员完全可以不自己编写脚本程序 而只是通过 JSP 独有的标 签使用别人已写好的部件来实现动态网页的编写 这样 一个不熟悉脚本语言 的网页开发者 完全可以利用 JSP 做出漂亮的动态网页 而这在其他的动态网 页开发中是不可实现的 程序的独立性 JSP 是 Java API 家族的一部分 它拥有一般的 Java 程序的跨平台的特性 换句话说 就是拥有程序的对平台的独立性 即 Write once Run anywhere 程序的兼容性 JSP 中的动态内容可以各种形式进行显示 所以它可以为各种客户提供服 务 即从使用 HTML DHTML 的浏览器 到使用 WML 的各种手提无线设备 例如 移动电话和个人数字设备 PDA 再到使用 XML 的 B2B 应用 都可以使用 JSP 的 4 动态页面 程序的可重用性 在 JSP 页面中可以不直接将脚本程序嵌入 而只是将动态的交互部分作为 一个部件加以引用 这样 一旦这样的一个部件写好 它可以为多个程序重复 引用 实现了程序的可重用性 现在 大量的标准 JavaBeans 程序库就是一个 很好的例证 1 1 11 1 1 WEBWEB 编程技术编程技术 1 HTML 和 CSS 技术 HTML Hyper Text Markup Language 超文本标记语言 是一种用来制作超 文本文档的简单标记语言 用HTML编写的超文本文档称为HTML文档 它能独立 于各种操作系统平台 如UNIX WINDOWS等 自1990年以来HTML就一直被用作 World Wide Web上的信息表示语言 用于描述Homepage的格式设计和它与WWW上 其它Homepage的连结信息 HTML语言是通过利用各种标记 tags 来标识文档 的结构以及标识超链 Hyperlink 的信息 虽然HTML语言描述了文档的结构 格式 但并不能精确地定义文档信息必须如何显示和排列 而只是建议Web浏览 器 如IE Netscape等 应该如何显示和排列这些信息 最终在用 户面前的显 示结果取决于Web浏览器本身的显示风格及其对标记的解释能力 在本系统中 基本页面的设计就是利用 HTML 语言来实现的 最终 IE 浏览 器会编译这些 HTML 代码 HTML 语言是一种所写既所见的代码 在本设计的过 程中大量使用的表格 表单等都是通过 HTML 来实现的 CSS 的英文是 Cascading Style Sheets 中文可以翻译成层叠样式表 随 着 Internet 的迅猛发展 HTML 被广泛应用 上网的人们当然希望网页做得漂 亮些 因此 HTML 排版和界面效果的局限性日益暴露出来 为了解决这个问题 人们也走了不少弯路 用了一些不好的方法 比如给 HTML 增加很多的属性结果 将代码变得很臃肿 将文本变成图片 过多利用 Table 来排版 用空白的图片 表示白色的空间等 直到 CSS 出现 CSS 可算是网页设计的一个突破 它解决 了网页界面排版的难题 可以这么说 HTML 的 Tag 主要是定义网页的内容 Content 而 CSS 决定这些网页内容如何显示 Layout 1 JavaScript 是一种新的描述语言 此一语言可以被箝入 HTML 的文件 之中 透过 JavaScript 可以做到回应使用者的需求事件 如 form 的输入 而不用任何的网路来回传输资料 所以当一位使用者输入一项资料时 它不用 5 经过传给伺服端 server 处理 再传回来的过程 而直接可以被客户端 client 的应用程式所处理 JavaScript 是一种解释性语言 当程序执行时 浏览器一边解释一边执行 这跟 JAVA 不同 2 JSP 的几个内置对象 Request 对象 我们知道 HTTP 通讯协议是一种请求与响应 Request Response 的通讯协议 因此通常由客户端向 Web 服务器提出请求 Web 服务器才会响应信息 因此在 JSP 中 特别将 客户端提出的要求 与 Web 服务器响应的信息 等动作封装成 Request 对象与 Response 对象 换而 言之 Request 对象通常包含了用户端的相关信息 如浏览器的种类 表头信 息 表单参数及 cookies 等等 Response 对象 每一种程序语言或开发工具一定都有与用户沟通的界面或 函数 JSP 也不例外 在 JSP 中负责将信息传达到用户的对象就是 Response 对 象 Server 对象 Server 对象允许用户取得服务器提供的各项功能 例如 Server 对象的 CreateObject 方法允许客户端用户建立一个 ActiveX Server 组 件实例 其所建立组件实例会随着服务器端完成 JSP 网页的处理而自动被释放 如果希望此对象实例可以跨多个 JSP 网页 就要用到 Session 对象保留该组件 实例 直到 Session 对象的运行时间到了 或是在其他 JSP 网页调用 Session 对象的 Abandon 方法 此组件实例才会被释放 Session 对象 Session 对象在 JSP 程序编写中占了相当重的份量 由于网 页是一种无状态的程序 因此几乎无法知道用户的浏览状态 必须通过 Session 对象记录用户的相关信息 以供用户再次对此 Web 服务器提出要求时 作确认 例如 在某些特定的网页中 常需要用户输入确认的账号和密码 假 如这些身份确认的结果无法保留 那岂不是每一个网页都需要重新输入一次密 码 换而言之 每一个 Session 的用户 Web 服务器均会自动的为它们建立一 个 Session 必须说明 Session 对象只能适用于具备 Cookie 功能的浏览器 1 1 21 1 2 JSPJSP 数据库设计数据库设计 1 JDBC 访问数据库 为支持 JAVA 程序的数据库操作功能 JAVA 语言采用了专门的 JAVA 数据库编程接口 Java DaraBase Connectivity 用于 JAVA 程序中实 6 现数据库操作并简化操作过程 JDBC 支持基本的 SQL 语言 提供多样话 的数据库连接方式 为各种不同的数据库提供统一的操作界面 JAVA SQL 包中提供多种 JDBC API 这些类和接口可以提供构造 SQL 语句 连接关系型数据库 执行SQL 语句并获得查询结果等功能 JDBC 工作原理如图 1 1 所示 JDBC API 图 1 1 JDBC 驱动管理图 JDBC 创建步骤 加载数据库的驱动程序 Class forName 建立与数据库之间的连接 创建Connection 实例 Connection conn DriverManager getConnection String url String user String password 创建 Statement 对象 通过 Statement 对象将 SQL 语言发送到数 据库中 主要用于查询语句 Statement stmt conn createStatement 创建 ResultSet 对象 通过 ResultSet 对象将 SQL 语句发送到数 据库 主要用于数据库更新语句 ResultSet rs stmt executeUpdate 关闭数据源 conn close 1 2 SQL 技术 在一个系统中 对象的数据信息之间相互存在着关系 这时就需要一个 容器来存放这些数据 数据库就是这些数据的集合 它具有统一结构形式并 存放于统一的存储介质内 它是多种应用数据集成 并可被应用共享 JAVAY 应用程序 JDBC 驱动程序管理器 JDBC 驱动程序 forORACLE JDBC 驱动程序 forSQLSERVER JDBC ODBC 桥驱动程序 JDBC 网络驱动程序 7 1 2 11 2 1 数据库管理系统数据库管理系统 数据库管理系统是数据库的机构 它是一种软件 属于系统软件 它负责 数据库中的数据组织 数据库中的数据操纵 数据库中的数据维护 控制及保护数据不受破坏 数据库的数据交换 数据库中的数据服务 数据字典 数据库管理系统的主要功能 数据模式定义 负责为数据库构作模式 数据存取的物理构作 负责为数据模式的物理存取及构作有效的存 取方法与手段 数据操纵 提供数据查询 插入修改以及删除的功能 数据的完整性 安全性定义与检查 数据的完整性是保证数据库中 数据正确性的必要条件 数据库数据共享可能会引发数据的非法使用 这就 是数据的安全性 数据的并发控制与故障恢复 对并发操作作必要的控制以保证数据 不受破坏 这就是数据的并发控制 保护数据库中的数据并在它遭受破坏后 有能力及时进行恢复 这就是数据的故障恢复 数据交换 数据库中的数据需要与外界数据主体作数据交换 数据服务 数据库管理系统提供数据拷贝 转储 重组 分析等对 数据库中的数据的多种服务功能 数据字典 数据字典是一组关于数据的数据又称元数据 数据字典 具有固定的模式结构 用户可用查询语言对其操作 以获得数据库的结构性 信息 数据库管理系统的数据语言 数据定义语言 DDL 负责数据的模式定义与数据的物理存取构作 8 数据操纵语言 DML 负责数据的操纵 包括查询及增 删 改 数据控制语言 DCL 负责数据的完整性 安全性定义与检查以及 并发控制 故障恢复等功能 1 2 21 2 2 SQLSQL 语言语言 在本系统中 频繁的对数据库进行查询 所以使用了大量的SQL 语 言来实现用户的要求 1 查询语句 Select Colname from Table where Condition 2 修改语句 Update Table set Colname Colvalue where Condition Insert into Table values Colvalues Delete from Table where Condition 1 3 开发环境 系统在 Microsoft Windows XP 下开发 所采用的开发工具主要是 JCreate Macromedia Dreamweaver 8 后台采用了 Microsoft SQL Server 2000 数据库企业版 发布平台为TOMCAT6 0 服务器端运行 客户端的 IE 版本需要在 6 0 以上 9 第二章 图书管理系统的需求分析 2 1 系统的需求分析 立足于校园实际 着眼于未来发展 建成符合标准化协议 通用性较强 实用的系统 以提高图书信息的现代化管理水平 实现信息资源的共享 图书 管理系统是一种基于集中统一规划的数据库数据管理新模式 图 2 1 系统结构图 1 图书管理系统需求分析 图书管理系统 在对图书 读者的管理 其实是对图书 读者数据的管理 本系统的建成会为管理者对图书管理系统提供极大的帮助 使用该系统之后 图书馆管理人员可以管理图书的借出 归还 图书的入库 修改等 学生登录 后可以了解自己所借阅图书的信息 普通用户可以查询图书馆里的图书信息等 等 1 帐户管理需求分析 帐户管理是本系统开发的一个重要部分 为整个系统的安全性提供了保 障 帐户管理主要完成以下几个基本功能模块 学生帐号管理 学生注册 修改基本信息功能 学生登录和登出 用户进入系统前 对学生输入的学号和密码进行 验证 学生退出系统时 清除相关信息 图书管理系统 帐户管理 图书管理 图书查询 帐号管理 借阅证管理 登录登出 添加图书 删除图书 借阅归还 10 图书管理员登录和登出 管理员进入系统前 对管理员帐号及密码 进行验证 退出系统时 清除相关信息 借阅证管理 管理员对学生的借阅证进行管理 查询模块需求分析 查询模块是本系统的一大模块 主要是学生对图书信息进行查询了解 查询库存图书列表 查询所有的图书信息 模糊查询 根据某一字段进行查询包含此字段的所有图书的信息 图书管理模块需求分析 该模块是本系统的主要模块 是图书管理员对图书进行管理的主模 块 该模块实现了图书的借阅归还 图书的添加 图书的修改等功能 图书的借阅归还 学生到管理员处实现对图书的借阅归还 图书的添加 添加新入库的图书 图书的删除 删除图书馆里已经没有的图书信息 图书资料的修改 修改图书的基本资料 2 2 权限需求分析 图书管理系统是一个面向学生与图书管理员的网络管理系统 对于用户 权限可分为普通学生权限和图书管理员权限 根据用户的登录信息判断用户 的权限 1 所有用户 仅提供浏览网站的权限和普通查询功能 2 学生 不仅提供浏览网站权限 同时还有查看自己借阅的图书的信 息及发表留言的权限 3 图书管理员 所有权限 拥有最高权限 可使用全部模块 包括编 辑和删除操作 这些权限也可以根据情况自由分配 第三章 图书管理系统的数据库设计 3 1 数据库设计 图书管理系统的中 都需要用到数据的查询 添加 更新和删除 考虑 11 到整个系统的灵活性以及安全性 在整个数据库设计中 我采用可伸缩性与 可靠性均非常优秀的 Microsoft SQL Server 2000 数据库 数据库名称为 booksystem 数据库 booksystem 包含以下 7 张表 book 图书基本信息 表 student 学生信息表 admin 管理员信息表 card 学生借阅证 表 borrowinfo 借阅图书记录表 returninfo 图书归还信息表 bulletin 新闻发布公告表 具体实现这些模块的数据库设计如下所示 3 1 13 1 1 图书管理系统公告的数据库设计图书管理系统公告的数据库设计 1 数据库设计需求分析 当打开社区首页时 为了那些需要了解学校公告 设计一个公告表 存 储学校最新发布的公告或者新闻 为了实现这个信息的加载 需要用到 bulletin 表 新闻公告信息表 存放新闻公告的ID 主题 内容 发布日期等 相关信息 2 表的结构设计 新闻公告信息表 bulletin 图书信息表的结构如表 3 1 所示 表 3 1 社区信息表 字段名描述类型长度是否主键 bulletin id新闻 IDint4是 Bulletin topic新闻主题varchar100 否 Bulletin body新闻内容varchar 1000 否 Bulletin date默认域名varchar 50 否 3 1 23 1 2 帐户管理模块数据库设计帐户管理模块数据库设计 1 数据库设计需求分析 在一个图书管理系统中 学生通过自己的学号登录到个人管理页面对个 人信息进行查询及修改 图书管理员通过管理员登录页面登录可以对图书进 行管理 需要用到图书管理员表和学生信息表 学生信息表 存放学生的基本信息的表 图书管理员信息表 存放图书管理员的相关信息的表 12 2 表的结构设计 学生信息表 student 学生信息表的结构如表 3 2 所示 表 3 2 学生信息表 字段名描述类型长度是否主键 stud no学生学号int4是 stud name学生姓名varchar50否 stud password学生登录时密码char20否 stud tel学生电话号码varchar50否 stud email学生电子邮件varchar50否 stud yearid学生入学年份int4否 stud dept学生所属于院部varchar50否 stud dormit学生宿舍varchar50否 图书管理员信息表 admin 学生信息表的结构如表 3 3 所示 表 3 3 图书管理员信息表 字段名描述类型长度是否主键 admin id管理员 IDint4是 admin name管理员姓名varchar50否 admin password管理员密码char10否 3 1 33 1 3 图书查询模块数据库设计图书查询模块数据库设计 1 数据库设计的需求分析 当学生或其他用户进入图书管理网站首页时 就拥有一个普通用户所拥 有的权限 可以查询当前图书馆所有图书 也可以根据自己的要求去查询具 体某个图书 而当学生登录以后 就可以查询自己已借阅的图书的信息 我 设计了 4 张表来实现这些操作 学生信息表 存放学生的基本信息的表 图书借阅信息表 存放了学生借阅图书的信息 包括学生借书证号 13 图书编号 借阅日期 借阅证表 存放借阅证的信息 包括借书卡号和学生学号 图书信息表 存放了图书的基本信息的表 表的关系如图 3 1 所示 图 3 1 查询模块表关系图 2 表的结构设计 图书信息表 student 图书信息表的结构如上表 3 4 所示 表 3 4 图书信息表 字段名描述类型长度是否主键 book id 图书编号 int4 是 book name 图书名 varchar50 否 book type 图书类别 varchar50 否 book author 图书作者 varchar50 否 book press 图书出版社 varchar50 否 表 3 4 图书信息表 book pressday 图书出版日期 varchar50 否 book price 图书价格 char50 否 book stock 图书库存 int4 否 14 book info 图书介绍 varchar4000 否 book pic 图书图片 varchar500 否 借阅证表 card 借阅证信息表的结构如表 3 5 所示 表 3 5 借阅证信息表 字段名描述类型长度是否主键 card id 借阅证 ID int4 是 stud no 学生学号 int4 否 card exist 是否注销 int4 否 借阅信息表 borrowinfo 借阅信息表的结构如表 3 6 所示 表 3 6 借阅信息表 字段名描述类型长度是否主键 book id 图书编号 int4 是 borrow day 借阅时间 varchar50 否 card id 借阅证号 int4 否 3 1 33 1 3 图书修改模块数据库设计图书修改模块数据库设计 1 数据库设计的需求分析 在一个图书管理系统中 对图书的修改只能由图书管理员来操作 所以设计了一个管理员权限 对图书的修改包括新图书的入库 图书的 删除 添加图书库存 当学生借书还书时 对图书库存的进行修改 需 要用到 5 张表 图书管理员表 用于存放管理员的帐号的表 包括管理员的管理 员姓名 管理员 ID 号 登录密码 学生借阅证表 存放学生办理的借阅证的信息 包括学生学号和 15 借阅证号 图书信息表 存放了图书的基本信息的表 图书借阅信息表 存放了学生借阅图书的信息 包括学生借书证 号 图书编号 借阅日期 图书归还信息表 存放了学生借阅图书的信息 包括学生借书证 号 图书编号 还书日期 2 表的关系如图 3 2 所示 图 3 2 图书修改模块表关系图 3 表的结构设计 图书管理员表 admin 学生信息表的结构如上表 3 3 所示 学生借阅证表 card 借阅证表的结构如上表 3 5 所示 图书信息表 book 图书信息表的结构如上表 3 4 所示 16 图书借阅信息表 borrowinfo 学生借阅信息表的结构如上表3 6 所示 图书归还信息表 returninfo 学生借阅信息表的结构如表3 7 所示 表 3 7 归还信息表 字段名描述类型长度是否主键 book id 图书编号 int4 是 return day 借阅时间 varchar50 否 card id 借阅证 ID int4 是 17 第四章 图书管理系统的模块设计 4 1 图书管理系统框架设计 4 1 14 1 1 主页面的设计主页面的设计 主页面服务的对象是所有用户 不论注册与否 用户都有权利对图书进 行查询 普通用户具有最初级的权限 网页是用户用来浏览信息的最佳网络 途径 本系统首页首先设计了一个导航栏供用户来选择操作 可以选择登录 查阅图书 公告 只要没有超过普通用户权限的页面 普通用户都可以浏览 若登录非普通用户权限页面系统会自动跳转到访问此页面需要权限的登录页 面 图书公告从数据库在读入 并按时间显示最近发布的 10 条图书信息 作 为一个普通用户 也可以浏览查阅图书馆里的图书 可以根据自己的需要搜索 自己需要的图书 并获取这些图书的基本信息 首页图书的信息用动态图片显 示 点击此图书图片时会从数据库中查询到有关该本图书的资料信息 也可以 根据需求查阅该类图书的信息 如图 4 1 所示 图 4 1 系统首页面 18 页面上显示图书的图片以及该图书的类别从数库中获取 点击图片可以查 询该图书的信息 点击图书类别可以查询此类所有的图书 实现代码如下 ResultSet rs stmt executeQuery select from book where book type like book type if rs next String book id rs getString book id String book type rs getString book type String img rs getString book pic 4 1 24 1 2 学生界面的设计学生界面的设计 当学生登录后会跳转到学生具有操作的页面 包括学生个人信息的修改与 借阅图书的查询 如图 4 2 所示 图 4 2 学生登录后的管理界面 学生登录 不但可以拥有普通用户的权限 而且可以查询自己所借阅图书 的信息 并可以更改个人资料信息 以及对图书借阅证进行注销 在页面上利 用一个 session 对象的 getAttribute 方法来获得学生的学号和姓名 实现代码 如下 19 session getAttribute inputstud no1 获取学号 session getAttribute inputstud name 获取姓名 4 1 34 1 3 管理员界面的设计管理员界面的设计 管理员登录后会转到管理员界面 管理员就可以对图书信息 学生帐号进 行管理 页面如图 4 3 所示 图 4 3 管理员登录管理页面 管理员拥有更多的权限 学生图书的借阅 归还 办证 图书的入库 添 加等等全部由管理员完成 也就是说只有管理员才有权限对数据库进行直接的 操作 这大大的保证了系统的安全性 管理员登录时 把管理员的信息存储在 session 里 然后利用一个 session 对象的 getAttribute 方法来获得管理员的 帐号和姓名 实现代码如下 session getAttribute adminid 获取管理员 ID session getAttribute adminname 获取管理员姓名 4 2 帐户管理模块设计 4 2 14 2 1 学生帐户管理学生帐户管理 1 学生信息管理 20 学生登录以后可以对自己个人登记的基本信息 登录密码等进行修改 信息修改 在通过 JDBC 连接了数据库后 所需做的工作就是传输 一个 SQL 语句来执行这个修改操作 在传输修改信息之前传输一个查 询语句来验证主键存在 然后在通过session getAttribute 来获取存储 起来的学生登录信息 若该session 对象值不为空 那么可判断学生登 录了 可以进行操作 代码如下 If session getAttribute null Select Colname from Table where Condition If Colname next Insert into Table values Colvalues 图 4 4 学生信息管理 2 借阅证管理 学生在注册完帐号后 到图书馆借书就需要借阅证借书 管理员管 理借阅证的办理 借阅证办理 办理借阅证之前先获取管理员的帐号 Admin id null 返回 0 否则返回 1 在办理借阅证之前还要检查学生 有没有注册 若在 student 表中查询到注册信息则办理借阅证 并把借 阅证信息插入到 card 表中 并自动分配一个借书卡号 sesson getAttribute admin id 21 If admin id null Return 0 Else Select Colname from Table where Condition If Colname next Insert into Table values Colvalues 办理借阅证页面如图 4 5 所示 图 4 5 借阅证办理界面 3 借阅证挂失 借阅证挂失时 为了获得已登录学生的借阅证号 先通过 session 获取学 生的学号 再通过学号查询到对应该学号的借阅证号 把借阅证信息表 card exist 属性设置为 0 注销以后无法借阅归还图书 必须激活帐户以后才 能进行操作 实现代码如下 select from card where stud no stud no if rs next 借阅证号存在 int a rs getInt card exist if a 1 若借阅证未注销 则注销 update card set card exist 0 where stud no stud no else 若已经注销了 则返回 Return 22 挂失页面如图 4 6 所示 图 4 6 借阅证挂失图 4 2 24 2 2 用户登录用户登录 用户 包括学生和管理员 登录后才能获得权限来操作页面 在该模块 中主要实现了学生 管理员 的登录 退出 实现学生 管理员 登录就是验证用户所输入的信息是否存在于数 据库相应的表中 不存在返回错误信息 存在页面就跳转到其管理权限页面 并获取相应 session 对象以判断其管理权限 退出时调用 remove getAttribute 来删除 session 达到彻底退出的目的 实现效果图如 4 7 所示 图 4 7 用户登录页面 23 4 3 查询模块 查询模块分为三部分 即三种权限下的查询 未登录用户 学生登录后 的查询 管理员登录的查询 1 未登录用户 进入图书管理系统首页后 作为一个普通的用户 可以查询图书的基本 信息 由于没有登录所以系统不能获取用户的信息 所以在系统下的不能获 取个人的信息 普通用户的基本查询权限是查询所有图书 精确查询 模糊 查找 查询功能是由 SQL 的 Select 语句来实现 精确查询是根据图书的具 体属性值来查询 而模糊查询则通过 来检索图书有多个字段的图书 这个设计是出于读者的考虑 方便了读者 如图4 8 所示 图 4 8 图书模糊查询页面 实现代码如下 select from book where select like keyword and select1 like keyword1 and select2 like keyword2 2 学生登录查询 学生登录以后不仅拥有普通用户的查询权限 还可以查询自己所借阅图 24 书的信息 登录信息用 session 对象保存学生的登录学号 在查询个人借阅 信息时获得存放 session 对象 通过连接 student book card borrowinfo 这 4 张表来获取所借阅图书的最终信息 3 管理员查询学生借阅信息 图书管理员登录后可以查询学生借阅信息 管理员无须学生密码 只需 知道学生的借阅证或学号即可查询 这便于管理员对于图书的管理 4 4 图书管理模块设计 图书管理模块是专属于图书管理员的模块 外部人员无法对图书信息进行 随便修改 保证了图书数据的安全性 在图书管理员登录之后 这时调用 session 对象的 setAttribute str str 方法来保存管理员信息 当每次对图 书数据进行修改时首先先获取保存的 session 对象 只有在 session 对象的值 存在时才能对图书进行管理 流程图如图 4 9 所示 图 4 9 管理员获得权限管理图书 1 图书借阅 当学生在图书馆借阅图书时 管理员输入学生的借阅证号和借阅图书 的编号并验证信息的正确性后 会从 BOOK 表中减去一本该图书的库存直至 为 0 且每位学生不能一次借阅多本同编号图书 把该学生的借阅证号和借 setAttribute getAttribute If session getAttribute null 获得权限 管理图书 25 阅的图书的编号以及当前系统时间存放到 borrowinfo 中 这样学生就可以 查询某位学生的借阅情况 实现语句如下 Select from book where book id book id If rs next book stock Update book set book stock where book id book id Insert into borrowinfo values book id card id borrow day 借阅页面如图 4 10 图 4 10 图书借阅页面 2 图书归还 归还图书时 先从图书借阅信息表里查询是否存在某学生借阅的某本 书 当存在时 从图书借阅表中删除该条借阅信息并把还书的信息添加到 还书信息表中 returninfo 还书时再次修改 book 表中的图书库存信息 把图书库存加一 实现语句如下 Select from borrowinfo where book id book id and card id card id If rs next delete from borrowinfo where book id book id and card id card id Book stock Update book set book stock book stock where book id book id 26 归还页面如图 4 11 所示 图 4 11 图书归还页面 3 图书信息修改 图书信息修改主要是对图书的基本资料进行修改 图书编号作为主键不 能修改 实现步骤依然是先判断图书是否存在 再进行修改 实现语句如 下 Select from book where book id book id If rs Next Update book values colvalues 如图 4 12 所示 图 4 12 图书信息修改页面 27 4 图书删除 图书删除是通过图书编号来删除此本书的全部信息 同样也先要判断 图书是否存在 实现语句如下 Select from book where book id book id If rs Next Delete from book where book id book id 如图 4 13 所示 图 4 13 图书删除页面 5 新图书入库 新书的入库分两种情况 一是添加一个不存在的图书 二是库存中存 在该书 那么就只添加该本书的库存数量 在添加新图书时每个图书都该 有个书封面的图片 管理员在输入图书信息的时候会把该图书的封面图片 上传到服务器端 利用一个 JspSmartUpload 包来实现图书的上传下载功能 保存图片到数据库的就保存该图片上传到的相对路径 或者绝对路径 上 传代码如下 SmartUpload su new SmartUpload 定义 smartupload 对象 su initialize pageContext 上传初始化 su setTotalMaxFileSize 10000000 限制总上传数据的长度 su setAllowedFilesList jpg gif png 设定允许上传的文件 su upload 上传文件 com jspsmart upload Request req su getRequest 取得 Request 对象 以便由此对象获得上传表单参数之值 com jspsmart upload File fl su getFiles getFile 0 获取文件 String myfilename fl getFileName 取文件名 28 String aa 设定上传路径 String trace aa myfilename 另存文件名 fl saveAs trace su SAVE PHYSICAL 存到这个目录里 插入图书信息实现语句如下 Select from book where book id book id If rs Next Select book stock from book where book id book id Book stock2 book stock book stock1 book stock 为输入的图书数量 Update book set book stock book stock2 where book id book id Else Insert into book values colvalues 如图 4 15 所示 图 4 15 新图书入库页面 29 4 5 系统其他功能设计 1 系统时间设计 系统时间在每个 WEB 网站中都会出现 系统中当前时间的调用有助于实现 许多功能 图书管理系统中 首页会调用一个系统当前时间显示出来 首页显 示时间获得方法如下 java text DateFormat df new java text SimpleDateFormat HH mm MM 月 dd 日 E datestr df format new java util Date out println datestr 获取系统当前时间调用 JAVA API 中的 DATE 类 用该类的 getYear getMonth getDay 来获取当前的年份 月份以及日期 因为 getYear 方法所 获得年份为当前年份减去 1900 所有在 getYear 之后必须再加上 1900 getMonth 所获得月份是从 0 开始的 所以要加上 1 具体实现方法如 下 int year 1900 date getYear int month 1 date getMonth int day date getDate 图书管理系统中获取这个时间是为了获得借阅时间以及归还时间 然后重 写一个 toString 方法来把获得的系统时间用一个 String 字符串添加到数据 库中 借阅天数的计算 图书馆管理系统中图书的借阅时间是图书馆对学生进行约束的必要方 法 如何计算某学生借阅某本图书多少天很值得去研究 年份分闰年与非 闰年 月数也分大月与小月 这使得计算两天相隔天数来显得比较麻烦 在做该功能的时候 先定义两个数组 m n 来存放闰年与非闰年每月底到年 初的天数 如下 int m new int 0 31 60 91 121 152 182 213 244 274 305 335 366 int n new int 0 31 59 90 120 151 181 212 243 273 304 334 365 判断一个年份是否为闰年 year 400 0 year 4 0 一页显示的记录数 int RecordCount 0 记录总数 int PageCount 0 总页数 int ShowPage 1 待显示页码 rs stmt executeQuery sql 执行查询语句 rs last 光标在最后一行 RecordCount rs getRow 获得当前行号 String Page request getParameter page 获取要显示的页面 32 rs absolute ShowPage 1 PageSize 1 根据页面查询 33
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新国标考核题目及答案
- 柯城消防安全知识培训课件
- 染色机安全培训课件
- 2025年斑马鳄鱼拼题目及答案
- 家电安全培训心得课件
- 2025年造字方法试卷及答案
- 2025年prem月考考试试题及答案
- 金融行业2025年反洗钱技术监管政策与合规管理报告
- 保安员模拟试题含答案
- 2025反三违培训试题(附答案)
- 临床微生物学检验标本的采集和转运试卷
- 佳酿贺喜升学宴金榜题名踏新程热烈庆祝某同学金榜题名模板
- 医学美容技术专业《美容医学咨询与沟通》课程标准
- 营养指导员理论知识考试题库及答案
- 2024生产安全事故隐患排查治理规定(修订征求意见稿)
- 2024年贵州贵安新区产业发展控股集团有限公司招聘笔试参考题库含答案解析
- JB-T 14509-2023 反渗透海水淡化设备技术规范
- (高清版)TDT 1055-2019 第三次全国国土调查技术规程
- 2024年儿童保健考试复习题库(含答案)
- 砖厂机械伤害安全培训课件
- 02J401 钢梯【含03年修改】图集
评论
0/150
提交评论