JSP应用开发与实践教学课件ppt作者刘乃琦王冲第15章课程设计.pdf
《JSP应用开发与实践教学课件ppt作者刘乃琦王冲第15章课程设计.pdf》由会员分享,可在线阅读,更多相关《JSP应用开发与实践教学课件ppt作者刘乃琦王冲第15章课程设计.pdf(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 目录 题目一 图书管理系统-1 1.1 题目简介-1 1.2 课程设计目的-1 1.3 功能描述-1 1.4 总体设计-2 1.4.1 构建开发环境-2 1.4.2 网站功能结构-2 1.4.3 系统流程图-3 1.5 数据库设计-4 1.5.1 E-R图-4 1.5.2 数据表示设计-6 1.6 实现过程-11 1.6.1 系统登录设计-11 1.6.2 主界面设计-14 1.6.3 图书借阅设计-17 1.6.4 图书续借设计-23 1.6.5 图书归还设计-26 1.7 调试运行-28 1.8 小结-29 1 题目一 图书管理系统 1.1 题目简介 随着网络技术的高速发展和计算机应用的
2、普及,利用计算机对图书馆的日常工作进行管理势在必行。虽然目前很多大型的图书馆已经有一整套比较完善的管理系统,但是在一些中小型的图书馆中,大部分工作仍需由手工完成,工作效率比较低,管理员不能及时了解图书馆内各类图书的借阅情况,读者需要的图书难以在短时间内找到,不便于动态及时地调整图书结构。为了更好地适应当前读者的借阅需求,解决手工管理中存在的许多弊端,越来越多的中小型图书馆正在逐步向计算机信息化管理转变。1.2 课程设计目的 1.加深对面向对象程序设计思想的理解,能对网站功能进行分析,并设计合理的类结构。2.掌握 JSP 网站的基本开发流程。3.掌握 JDBC 技术在实际开发中的应用。4.掌握
3、Servlet 技术在实际开发中的应用。5.掌握 JSP 经典设计模式中 Model2 的开发流程。6.提供网站的开发能力,能够运用合理的控制流程编写高效的代码。7.培养分析问题、解决实际问题的能力。1.3 功能描述 图书馆管理系统是一个小型的图书馆管理系统,该系统的主要功能如下:1.美观友好的操作界面,能保证系统的易用性。2.管理图书类型信息、图书信息和书架信息等功能。3.读者类型和读者档案管理功能。2 4.可以实现图书的借阅、续借和归还功能。5.提供查看图书借阅排行榜功能。6.具有借阅到期提醒功能。7.查询图书借阅信息。8.图书档案查询功能。1.4 总体设计 1.4.1 构建开发环境 图书
4、馆管理系统的开发环境具体要求如下:开发平台:Windows XP(SP2)/Windows Server 2003(SP2)/Windows 7。开发技术:JSP+Servlet+HTML 5+JavaScript。后台数据库:MySQL。Java 开发包:Java SE Development KET(JDK)version 7 Update 3。Web 服务器:Tomcat 7.0.27。浏览器:IE 9.0 以上版本、Firefox 等。分辨率:最佳效果 1024768 像素。1.4.2 网站功能结构 在图书馆管理系统中主要包含6 大功能模块,分别为系统设置模块、读者管理模块、图书管理模
5、块、图书借还模块、系统查询模块和更改口令模块,它们的具体介绍如下。系统设置:用来对系统的一些基础参数进行设置,主要包括图书管理信息、管理员设置、参数设置、书架设置。读者管理:用来对读者类型和读者档案进行管理。图书管理:用来对图书类型和图书档案进行管理。图书借还:用来实现图书的借阅、续借和归还等功能。系统查询:用来实现图书的借阅信息的查询,主要包括图书档案查询、图书 3 借阅查询、借阅到期提醒等。更改口令:主要用于修改登陆管理员的密码。图书管理系统的功能结构图,如图 1-1 所示。图 1-1 图书管理系统的功能结构图 1.4.3 系统流程图 图书馆管理系统的系统流程如下图1-2 所示。图 1-2
6、 图书管理系统的系统流程图 4 1.5 数据库设计 由于本系统是为中小型图书馆开发的程序,需要充分考虑到成本及用户需求(如跨平台)等问题,而 MySQL 是目前最为流行的开放源代码的数据库,是完全网络化的跨平台的关系型数据库系统,正好满足了中小型企业的需求,所以本系统采用 MySQL 数据库。1.5.1 E-R 图 根据对系统所做的需求分析,规划出本系统中使用的数据库实体分别为图书档案实体、读者档案实体、图书借阅实体、图书归还实体和管理员实体。下面将介绍几个关键实体的 E-R 图。1.图书档案实体 图书档案实体包括编号、条形码、书名、类型、作者、译者、出版社、定价、页码、书架、库存容量、录入时
7、间、操作员和是否删除等属性。其中“是否删除属性”用于标记图书是否被删除,由于图书馆中的图书信息不可以被随意删除,所以即使当某种图书不能再借阅,而需要删除其档案信息时,也只能采用设置删除标记的方法。图书档案实体的 E-R 图如图 1-3 所示。图书书名条形码编号书架页码定价出版社作者类型 图 1-3 图书档案 E-R 图 5 2.读者档案实体 读者档案实体包括编号、姓名、性别、条形码、职业、出生日期、有效证件、证件号码、电话、电子邮件、登记日期、操作员、类型和备注等属性。读者档案实体的 E-R 图如图 1-4 所示。读者姓名条形码编号有效证件证件号码电话电子邮件职业类型 图 1-4 读者档案 E
8、-R 图 3.借阅档案实体 借阅档案实体包括编号、读者编号、图书编号、借书时间、应还时间、操作员和是否归还等属性。借阅档案实体的 E-R 图如图 1-5 所示。借阅操作员是否归还图书编号读者编号编号应还时间借书时间 图 1-5 借阅档案 E-R 图 6 4.归还档案实体 归还档案实体包括编号、读者编号、图书编号、归还时间和操作员等属性。借阅档案实体的 E-R 图如图 1-6 所示。归还操作员图书编号读者编号编号归还时间 图 1-6 归还档案 E-R 图 1.5.2 数据表示设计 结合实际情况及对用户需求的分析,图书馆管理系统的 db_library 数据库中需要创建如图 1-7 所示的 12
9、张数据表。图 1-7 db_library 数据库包含的数据表 下面将给出这些数据表的结构及说明。7 1.tb_manager(管理员信息表)管理员信息表主要用来保存管理员信息。结构如表1-1 所示。表 1-1 tb_manager 结构及说明 2.tb_purview(权限表)权限表主要用来保存管理员的权限信息,该表中的 id 字段与管理员信息表中的 id 字段相关联。结构如表 1-2 所示。表 1-2 tb_purview 结构及说明 3.tb_bookinfo(图书信息表)图书信息表主要用来保存图书信息。结构如表1-3 所示。表 1-3 tb_bookinfo 结构及说明 8 4.tb_
10、parameter(参数设置表)参数设置表主要用来保存办证费及书证的有效期限等信息。结构如表1-4 所示。表 1-4 tb_parameter 结构及说明 5.tb_booktype(图书类型表)图书类型表主要用来保存图书类型信息。结构如表1-5 所示。表 1-5 tb_booktype 结构及说明 6.tb_bookcase(书架信息表)书架信息表主要用来保存书架信息。结构如表1-6 所示。表 1-6 tb_bookcase 结构及说明 7.tb_borrow(图书借阅信息表)图书借阅信息表主要是用来保存图书借阅信息。结构如表1-7 所示。9 表 1-7 tb_borrow 结构及说明 8.
11、tb_giveback(图书归还信息表)图书归还信息表主要用来保存图书归还信息。结构如表1-8 所示。表 1-8 tb_giveback 结构及说明 9.tb_readertype(都这类型信息表)读者类型信息表主要用来保存读者类型信息。结构如表1-9 所示。表 1-9 tb_readertype 结构及说明 10.tb_reader(读者信息表)1 0 读者信息表主要用来保存读者信息。结构如表 1-10 所示。表 1-10 tb_reader 结构及说明 11.tb_library(图书馆信息表)图书馆信息表主要用来保存图书馆信息。结构如表1-11 所示。表 1-11 tb_library
12、结构及说明 12.tb_publishing(出版社信息表)出版社信息表主要用来保存出版社信息。结构如表 1-12 所示。表 1-12 tb_publishing 结构及说明 1 1 1.6 实现过程 1.6.1 系统登录设计 系统登录时进入图书管理系统的入口。在运行本系统后,首先进入的是系统登录页面,在该页面中,系统管理员可以通过输入正确的管理员名称和密码登录到系统,当用户未输入管理员名称或密码时,系统会通过 Javascript 进行判断,并给予提示信息。系统登录的运行结果如图 1-8 所示。图 1-8 系统登录的设计结果 1.界面设计 系统登录页面主要用于收集管理员的输入信息及通过自定义
13、的 Javascript 函数验证输入信息是否为空,该页面中涉及的表单元素如表1-13 所示。表 1-13 系统登录页面所涉及的表单元素 1 2 编写自定义的 Javascript 函数,用于判断管理员名称和密码是否为空。代码如下:function check(form)if(form.name.value=)alert(请输入管理员名称!);form.name.focus();return false;if(form.pwd.value=)alert(请输入密码!);form.pwd.focus();return false;2.关键代码 在实现系统登录时,主要是解决如何在 Servlet
14、中获取提交的登录信息,以及验证输入的管理员信息是否合法,如果合法则将页面重定向到系统主界面,否则给出提示信息。这是将涉及以下两个方法。方法一:/管理员身份验证 public void managerLogin(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException ManagerForm managerForm=new ManagerForm();managerForm.setName(request.getParameter(name);managerForm.se
15、tPwd(request.getParameter(pwd);int ret=managerDAO.checkManager(managerForm);/调 用ManagerDAO类 的checkManager()方法 if(ret=1)/将登录到系统的管理员名称保存到 session 中 HttpSession session=request.getSession();session.setAttribute(manager,managerForm.getName();request.getRequestDispatcher(main.jsp).forward(request,respons
16、e);/转到系统主界面 1 3 else request.setAttribute(error,您输入的管理员名称或密码错误!);request.getRequestDispatcher(error.jsp).forward(request,response);/转到错误提示页 方法二:/管理员身份验证 public int checkManager(ManagerForm managerForm)int flag=0;/标记变量,值为 0 时表示不成功,值为 1 时表示成功 String sql=SELECT*FROM tb_manager where name=+ChStr.filterS
17、tr(managerForm.getName()+;/连接 SQL 语句,并过滤管理员名称中的危险字符 ResultSet rs=conn.executeQuery(sql);try if(rs.next()String pwd=ChStr.filterStr(managerForm.getPwd();/获取输入的密码并过滤输入字符串中的危险字符 if(pwd.equals(rs.getString(3)flag=1;/表示验证成功 else flag=0;/表示验证不成功 else flag=0;/表示验证不成功 catch(SQLException ex)flag=0;/表示验证不成功 f
18、inally conn.close();/关闭数据库连接 return flag;1 4 在实现系统登录时,从网站安全的角度考虑,仅仅使用上面介绍的系统登录页面并不能有效地保证系统的安全,一旦系统主界面的地址被他人获得,就可以通过在地址栏中输入系统的主界面地址而直接进入系统中。这时,我们可以在每个页面的顶端添加以下验证用户是否登录的代码。这样,当系统调用每个页面时,都会判断 session 变量 manager 是否存在,如果不存在,将页面重定向到系统登录界面。1.6.2 主界面设计 管理员通过“系统登录”模块的验证后,可以登录到图书馆管理系统的主界面。系统主界面主要包括 Banner 信息栏
19、、导航栏、排行榜和版权信息 4 部分。其中,导航栏中的功能菜单将根据登录管理员的权限进行显示。例如,系统管理员 mr 登录后,将拥有整个系统的全部功能,因为它是超级管理员。图 1-9 主界面的设计效果 1 5 1.界面设计 在图 1-9 所示的界面中,Banner 信息栏、导航栏和版权信息,并不是仅存在与主界面中,其他功能模块的子界面中也需要包括这些部分。因此,可以将这几个部分分别保存在单独的文件中,这样,在需要放置相应功能时只需包含这些文件即可。主界面的布局如图 1-10 所示。图 1-10 主界面的布局 应用指令包含文件的方法进行主界面布局的代码如下:当前位置:首页>>>
20、 在上面的代码中,第一行的代码,用于应用指令包含banner.jsp 文件,该文件用于显示 Banner 信息及当前登录管理员;第二行的代码,1 6 用于应用指令包含 navigation.jsp 文件,该文件用于显示当前系统时间及系统导航菜单;最后一行的代码,用于应用指令包含copyright.jsp 文件,该文件用于显示版权信息。2.关键代码 在实现主界面时,需要显示图书借阅排行榜,所以需要编写 DAO 方法从数据库中统计出借阅排行数据,并保存到 Collection 集合中。从数据库中统计借阅排行数据的关键代码如下:public Collection bookBorrowSor
21、t()String sql=select*from(SELECT bookid,count(bookid)as degree FROM+tb_borrow group by bookid)as borr join(select b.*,c.name as bookcaseName+,p.pubname,t.typename from tb_bookinfo b left join tb_bookcase+c on b.bookcase=c.id join tb_publishing p on b.ISBN=p.ISBN join +tb_booktype t on b.typeid=t.id
22、where b.del=0)+as book on borr.bookid=book.id order by borr.degree desc limit 10;Collection coll=new ArrayList();/创建并实例化 Collection对象 BorrowForm form=null;/声明 BorrowForm 对象 ResultSet rs=conn.executeQuery(sql);/执行查询语句 try while(rs.next()form=new BorrowForm();/实例化 BorrowForm 对象 form.setBookId(rs.getIn
23、t(1);/获取图书 ID form.setDegree(rs.getInt(2);/获取借阅次数 form.setBookBarcode(rs.getString(3);/获取图书条形码 form.setBookName(rs.getString(4);/获取图书名称 form.setAuthor(rs.getString(6);/获取作者 form.setPrice(Float.valueOf(rs.getString(9);/获取定价 form.setBookcaseName(rs.getString(16);/获取书架名称 form.setPubName(rs.getString(17
24、);/获取出版社 1 7 form.setBookType(rs.getString(18);/获取图书类型 coll.add(form);/保存到 Collection 集合中 catch(SQLException ex)System.out.println(ex.getMessage();/输出异常信息 conn.close();/关闭数据库连接 return coll;1.6.3 图书借阅设计 管理员登录后,选择“图书借还/图书借阅”命令,进入到图书借阅页面,在该页面中的“读者条形码”文本框中输入读者的条形码后,单击“确定”按钮,系统会自动检索出该读者的基本信息和未归还的借阅图书信息。如
25、果找到对应的读者信息,就将其显示在页面中,此时输入图书的条形码或图书名称后,单击“确定”按钮,借阅指定的图书。图书借阅页面的运行结果如图 1-11 所示。图 1-11 图书借阅页面 1 8 1.界面设计 图书借阅页面总体上可以分为两个部分:一部分用于查询并显示读者信息;另一部分用于显示读者的借阅信息和添加读者借阅信息。图书借阅页面在Dreamweaver 中的设计效果如图 1-12 所示。图 1-12 在 Dreamweaver 中图书借阅页面的设计效果 由于系统要求一个读者只能同时借阅一定数量的图书,并且该数量由读者类型表 tb_readerType 中的可借数量 number决定,所以这里
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP 应用 开发 实践 教学 课件 ppt 作者 刘乃琦王冲第 15 课程设计
限制150内