基于web的图书馆借阅系统的设计与实现—计算机毕业设计内容摘要:
但在使用数据库时,有些 Driver 会将从数据库中读出的中文自动的转换成Unicode,而有些不会,如果 Driver 做过转换而系统又再做一次,就会出现问题,从数据库中读出的中文字符不会正确显示,而是出现 “ ??”。 而且,在表单提交或是 URL 传参数值时依然是按照 Web 容器在内部默认的字符编码格式 ISO 88591 来进行处理的。 同时,几乎所有的浏览器在传递参数时都是默认以 UTF8 的方式来传递参数的。 所以,虽然在 java 源文件在出入口的地方指 定了正确的编码方式,但其在容器内部运行是还是以 ISO 88591 来处理的,这样导致在提交的表单中若有中文字符,在存入数据库时使用的是 ISO 88591,而本系统使用的 My SQL 数据库默认使用的是 GBK 编码,这样导致的结果就是存到数据库的数据因编码不同而出现乱码现象。 调用字符编码转换 Bean 中的方法,对字符编码进行强制转换,使存放到数据库的数据编码格式与数据库的内部编码格式统一,解决了向数据库中插入中文字符、将从数据库中读取的数据正确的显示的问题,所以做了一个方法放在 bean里面,代码如下 public String chStr(String str){ try { byte[] temp=(ISO88591)。 String temp2=new String(temp)。 return temp2。 }catch(Exception e){(chStr():+())。 } return null。 } 发布首页公告功能模块 第 12 页 共 59 页 图 6 首页发布功能界面 在后台管理中能自由发布首页公告信息,来通知各种事情,其条目以滚动的形式来表现。 该功能的实现由 和 文件实现。 在 中主要是发布界面的编写和传输 notice 内容,本功能的核心程序放在 中,负责存储内容到数据库和错误提示。 在 中关键代码如下: //从 request 获取名为 content的参数 值 String content=(content)。 //解决中文乱码问题 String tcontent=(content)。 //合成 SQL 语句,将 content 的值传入,作用为更新公告表 String sql=update notice set content=39。 +content+39。 ,createtime=DEFAULT where id=1。 //申明一个 int 的变量 temp int temp=2。 //如 SQL 执行 成功, temp0,否则执行失败 temp=(sql)。 留言板功能模块 留言板功能模块分为发布模块和回复模块。 发布模块在前台完成,可以让任何人留言,而回复模块在后台使用只允许管理员查看回复。 第 13 页 共 59 页 发布留言模块 图 7 发布留言界面 本功能所有文件放在 guest 目录下面,包含了 , , , , 这 5 个文件,分别实现了留言板各个功能。 其主要代码在 中 . //从 request 获取名为 username的参数值 String username=(username)。 //从 request 获取名为 content的参数值 String content=(content)。 //合成 SQL 语句,将 username, content 的值传入 nickname,content 表中,作用为将留言板内容放入数据库中 =insert into guestbook (nickname,content) values(39。 +username+39。 ,39。 +content+39。 )。 //判断语句,如果 username 为空或者错误, content 为空或者错误的时候。 if(username==null||()||content==null||()) { else{ int temp=2。 //如 SQL 执行成功, temp0,否则执行失败 temp=(sql)。 % //返回错误信息 ,显示“请检查你的输入 .请确保你输入的信息的正确性 !”错误信息文字以提示。 else{ (error,请检查你的输入 .请确保你输入的信息的正确性 !)。 第 14 页 共 59 页 (../)。 } } % 回复留言模块 本功能主要是用于回复留言,由 实现 .其实现方法与前面类似,不在累述。 系统管理员登录功能模块 图 8 管理员登录界面 本功能涉及到图书管理操作的 jsp 文件, 为了方便全部 把它们放在 admin 目录里面,并且通过 session 防 止非法登录.把这个功能提取出来,单独作为一个jsp 文件,然后 include 到 需要加密的 jsp 文件头部.这样如果非法用户直接提交后台 URL,系统会将非 法用户直接转到前台首页 本功能由 和 实现 其主要代码是在 中,如下 % //从 request 获取名为 username的参数值 String username=(username)。 //从 request 获取名为 password的参数值 String password=(password)。 //如果 username 为空或者错误,以及 password 为空或者错误。 if(username==null||()||password==null||()) else{ //将 username 赋值到 tusername, password 赋值到 tpassword String tusername=(username)。 String tpassword=(password)。 第 15 页 共 59 页 //搜索数据库中 tusername 和其对应的 tpassword 字段。 String sql=select * from admin where username=39。 +tusername+39。 and password=39。 +tpassword+39。 int temp=2。 temp=(sql)。 if(temp0){ //表明验证成功,进入 ,并将用户定格为登录用户。 (name,tusername)。 ()。 }else{ //验证失败,返回错误提示信息,并返回 页面。 (error,请检查你的用户名和密码 !)。 (../)。 }} % 图书查询功能模块 在前台允许所有用户对图书馆里面的书籍进行查询,返回内容包含书名,编号,分类和库存几个方面。 总的来说该功能是本系统最重要的核心功能之一。 前台图书查询 图 9Web 图书查询界面 图 10 查询结果界面 图 9 为前台查询界面,图 10 为 显示界面主要是实现对图书的查询, 内容包括书名,图书编号,分类,库存量。 分别由 和实现 第 16 页 共 59 页 其主要代码在功能代码在 下, 查询功能代码: % String sql=。 //解决中文乱码 String keyword=(keyword)。 String tkeyword=(keyword)。 //获取参数名称 String keytype=(type)。 //如果按书 名进行查询 if((booktitle)){sql=select * from book where title like 39。 %+tkeyword+%39。 } //如果按书号进行查询 else if((bookid)){sql=select * from book where bookID like 39。 %+tkeyword+%39。 } int temp=(sql)。 Connection conn=()。 Statement stmt=()。 ResultSet rs=(sql)。 //表单显示处理功能代码: while(()){ String booktitle=(2)。 String bookid=(3)。 String booktype=(4)。 int quantity=(5)。 id++。 if(color==CCCCCC){color=999999。 } else{color=CCCCCC。 } % 后台所有图书查询 在后台运行中,除了前台所拥有的查询外,还提供直接查询并允许对其修改和删除,其界面由 显示,而修改,删除由其他文件实现,其实现方法类似前台查询不在累述。 第 17 页 共 59 页 WAP 查询 图 11 WAP 图书查询界面 Winwap 是 Slobtrot 网站提供的 WAP 仿真工具。 它 完美的 支持 WML 和。 可以将 WML 页面保存为 HTML 页 面。 Winwap 因此也成为了目前 WAP 网站开发人员使用最广泛的模拟器。 图 9 则是用 Winwap 模拟器打开的 WAP 图书查询界面。 其功能主要由 wapresult 来实现,里面功能大多可参照以上的查询功能实现。 其主要代码如下 % //设置返回类型为 WML (text/)。 String result=。 if((bookid)!=null){ String bookid=(bookid)。 String sql=select * from book where bookid=39。 +bookid+39。 Connection conn=()。 Statement stmt=()。 ResultSet rs=(sql)。 while(()){ result+=(title)+ Bookid:+(bookID)+ count:+(quantity)+/br。 } } if((bookname)!=null){ 第 18 页 共 59 页 String bookname=(bookname)。 String sql=select * from book where title=39。 +bookname+39。 Connection conn=()。 Statement stmt=()。 ResultSet rs=(sql)。 while(()){ result+=(title)+ Bookid:+(bookID)+ count:+(quantity)+/br。 } } % 其余功能模块 其余功能模块实现方法同上面雷同,就不在详细分析代码,只简单叙 述。 借还手续功能模块包含了借书功能模块,还书功能模块,借阅信息功能模块,借书证管理功能模块。 借还手续功能模块是另一个核心功能模块。 借书功能模块通过输入 借书证 号和图 书编号实 现借书 功能 和 文件实现。 其主要功能在 中实现。 还书功能模块主要实现对图书的重新入库和清理所借图书人借书项目包含 , 和 三个文件。 阅信息功能模块为查询所有借阅书籍的同学和其借阅的图书,主要由 实现。 新开借书 证功能 模块本 功能主 要实现 借书证的 重新开 启,包含,。 修改借书证信息主要实现修改借书的情况,包括包含 和 两个文件 管理图书功能模块主要用于对图书 的管理,其包括录入新书功能模块和修改,删除图书功能模块,未归还图书查询功能模块。 录入新书功能模块主要将图书录入,并添加其数量,名称,类别的功能由 和 两个文件实现。 修改,删除图书功能模块主要是修改删除图书的信息。 由 和 实现。 用户信息管理功能模块是本系统后台最为重要的一部分,包括所有用户查询功能模块,搜索用户功能模块,管理员列表功能模块 ,添加管理员功能模块,修改密码功能模块。 所有用户查询功能模块本功能作用是实现对用户信息查询,包 第 19 页 共 59 页 括姓名,性别,年龄,系别,借书证号由 实现搜索用户功能模块本功就是通过输入借书证号搜寻所查找的用户。 由 和 文件实现用户功能模块主要是对用户的所有信息进行修改并保存由 和 实现。 管理员列表功能模块主要是查询所有管理员。 由 实现。 添加管理员功能模 块 就 是 添 加 管 理 员 , 包 括 登 录 名 和 密 码 由 和 实现。 修改管理员密码功能模块本功能主要是对管理员密码修改由 和 实现。 5 测试 本 系 统 测 试 环 境 : , ,Winwap, 在WIN2020/XP 下均测试通过 .测试结果完全符合预期目标。 但有部分 BUG,现问题和 解决方法总结如下:。 解决方法:将页面编码设置为 GB2312,同时在服务器端将 request 编码也设置为 GB2312 2 个 frame,在超链接的时候往往不能链接到目标 frame 上。 解决方法:在超链接的后面添加 target=目标框架。 最终经过详细功能测试和代码。基于web的图书馆借阅系统的设计与实现—计算机毕业设计
相关推荐
名称 删除奖惩信息 执行者 管理员 简单描述 管理员登录系统后,可以删除学生的奖惩信 息 前置条件 管理员已通过身份验证 后置条件 系统将从数据库中删除学生的奖惩信息; 主干过程 [1] 管理员输入学生的学号; (或分支过程 1) [2] 系统显示学生的奖惩信息; [3] 管理员选择要删除的奖惩信息,并提交确认;(或分支过程 2) [4] 系统将从数据库中删除该条奖惩信息; 分支过程
ame=imageField type=image src=images/ width=38 height=18 border=0 align=absmiddle [带 span class=price*/span 的必须填写 ]/td /tr/form /table /*下面一段代码是用 JAVASCRIPT验证用户所填写注册信息的有效性 */ script
八个域名来进行学生的信息存储。 如果用户修改某一纪录中的某一项,可单添加按钮进行学生成绩的编辑,此窗口使用数据窗口的 FREEDOM风格(典型的录入界面)。 该种风格特点是列标题紧挨着数据列在此窗口还可以增加新学生纪录。 字段名 字段类型 字段长度 字段说明 Score_no 数字 20 编号 Scor_per 数字 8 考试期号 Score_cla 文本 10 学生班号 Score_stu
之间书籍的交换提供了一个安全可靠的平台。 例如,某同学可以把他看完的书籍放置在我们平台上,其他同学可以五角钱借阅,到借阅期限后再次放置在我们的平台上,如不按时归还会照价赔偿,每次借阅都会给这本书的主人一定的手续费,这样的一个模块可以更大程度的利用我们每个人手上的旧书,物尽其用,而且 我们比图书馆更加人性化,更能满足长大学子的需求,而且借阅更加方便,是送货上门。
太阳电池的工作特性 —— 输出最大功率点处的电压值在不同日照下基本不变,采用恒压跟踪( CVT)方式实现了对太阳电池的最大功率跟踪,有效地提高了太阳电池的工作效漯河职业技术学院机电工程系毕业设计说明书 4 率,同时也改善了整个系统的工作性能。 2.总体设计 本太阳能充电器,设计成功后可对多种 USB 连接的设备进行充电,只要电压不超过 5v,本设计采用太阳能光电板产生 9v 电压,然后进行稳压