Java图书管理系统报告.docx
《Java图书管理系统报告.docx》由会员分享,可在线阅读,更多相关《Java图书管理系统报告.docx(10页珍藏版)》请在冰点文库上搜索。
Java图书管理系统报告
图书管理系统
摘要
在这个高速开展的信息化时代,对于一个高效的图书馆而言,传统的管理方法已远远不能满足要求,现代图书馆需要一个高速、快捷、方便的图书管理方法。
因此,WEB图书管理系统应运而生,WEB图书管理系统的主要特点是利用了网络,他给读者和图书馆之间提供了一个交互的电子平台,使得读者通过网络就能轻松查询到图书馆的相关信息,极大地方便了读者,也提高了图书馆的效率。
究其原因,主要在于以下几个方面的因素:
〔1〕历史的原因,科技开展水平和经济根底落后,国民文化素质较低等,〔2〕图书馆界缺乏真正的、系统的有组织的调查研究,理论脱离实际,而且在某些方面存在认识上的误区;〔3〕图书情报信息技术应用水平低,不能为图书馆学情报学理论研究有效地开辟新领域、提出新课题,这是因为我国的图书馆理论研究与实践活动严重脱节,理论成果对实践缺乏指导意义,因而理论研究生命力不强。
关键词:
图书管理系统、科技、效率、意义
1引言
1.1相关知识
本系统设计采用的是JSP作为设计语言,所以JSP相关的知识是必不可少的。
简单说来需要涉及到JSP中页面的设计,以及对于数据库的一些操作。
查询、写入、删除等等操作。
通过上述的操作来完成相应的图书馆里功能。
1.开发工具及技术简介
Java语言是一种简单、面向对象、分布式、解释执行、鲁棒、平安、体系构造中立、可移植、高性能、多线程以及动态性的编程语言。
Java有如下主要特点:
1.平台无关性;2.平安性;3.面向对象;4.分布式;5.强健性。
同时,与C/C++相比,Java去掉了指针运算、构造、typedefs、#define。
减少了出错的可能性。
[2]
就可以访问带有ODBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MSSQLServer和MSAccess等数据库。
[5]
JSP工作模式
JSP规有JSPModel1和JSPModel2两种建立应用程序的方式,它们的区别在于处理请求的位置不同。
[6]
Model1体系中,JSP页面单独响应请求并将处理结果返还给客户,所有的数据存取都是由Jav态容效劳的方法,它吸取了两种方法的优点,用JSP生成表达层的容,让Servlet完成深层次的处理
MySQL是一个小巧实用的数据库效劳器软件,对于小型〔当然也不一定很小〕应用系统是非常理想的。
除了支持标准的ANSISQL语句,它还支持多种平台,而在Unix系统上该软件支持多线程运行方式,从而能获得相当好的性能。
对于不使用Unix的用户,它可以在WindowsNT系统上以系统效劳方式运行,或者在Windows95/98系统上以普通进程方式运行。
[10]
2.4Tomcat简介
JakartaTomcat效劳器是在SUN公司的JSWDK的根底上开展起来的一个优秀的Servlet/JSP容器,它是Apache-Jakarta软件组织的一个子工程。
它不但支持运行Servlet和JSP,而且还具备了作为商业JavaWeb应用容器的特征。
2系统功能概述
2.1需求分析
2.1.1用户区分:
用户分为一般注册用户与管理员用户,提供针对一般注册用户的注册与登录。
2.1.2管理员功能:
管理员用户可发布图书信息;
管理员用户可更新、删除图书信息;
2.1.3注册用户功能:
注册用户可查询图书信息,最多有三个查询条件;
注册用户可对图书发表评论;
3系统设计:
3.1数据库设计:
数据库设计中,设计了三个实体:
1.用户。
2.图书。
3.评论
用户属性:
name、password、email、权限
图书属性:
name、pany、intro、price
读者评论:
bookname、authorname、content
3.2权限管理设计:
1.注册时,只能注册一般用户。
系统置一个超级管理员,只有超级管理员才具有添加管理员,和删除管理员的权限。
判别是否是超级管理员的标准在于manager表中的quanxian项,quanxina为1代表超级管理员,2代表普通管理员,3代表普通用户。
2.在删除、更新、发布图书信息时,将对用户的session进展判断,如果是管理员以上权限,才能进展操作。
3.在对图书信息做出评论的时候,将对用户的session进展判断,如果已经成功登录的用户以上权限,才能进展评论的操作。
4.对于评论的编辑和修改,只能有管理员以上权限的用户进展操作。
3.3编码设计:
本系统设计了如下几个页面来完成相应的功能。
1.用户注册页面。
这个页面让用户提交注册信息,根据注册信息,调用功能实现页面来向数据库中添加记录,以完成用户注册功能。
2.管理员发布图书信息。
这个页面用来让管理员提交图书信息,以此来调用相应的功能实现页面,来向数据库中添加、修改、删除信息,以此来实现图书信息的添加、修改、删除功能。
3.搜索图书信息。
这个页面,通过用户提交查询条件,然后调用相应的功能实现页面,对图书属性进展查询,然后将查询得到的信息返回到页面中显示。
以此来完成图书的查询功能。
4编码实现
4.1具体编码
关键代码:
1.数据库连接代码:
采用的是sqlserver2000SP4的数据库,本例展示的是查询用户的代码,其它地方的代码也是小异。
只是使用的对象,分Statement和PreparedStatement。
此例中使用的是前者。
<%
StringdriverClass=".microsoft.jdbc.sqlserver.SQLServerDriver";
Stringurl="jdbc:
microsoft:
sqlserver:
//127.0.0.1:
1433;DatabaseName=book";
Stringusername="sa";
Stringpassword="iloveyou";
Class.forName(driverClass);//加载数据库驱动
Connectionconn=DriverManager.getConnection(url,username,password);//建立连接
Statementstmt=conn.createStatement();
ResultSetrs=stmt.executeQuery("select*frommanager");//执行查询语句
while(rs.next())
{
out.println("
用户名:
"+rs.getString
(1)+":
"+rs.getString(3)+"权限:
"+rs.getString(4)+"
");
}
rs.close();
stmt.close();
conn.close();
%>
2.用户登录验证
在用户登录的时候,查询数据库的manager选项,通过比对用户名和密码,来看是否存在该用户。
成功登录以后,将用户的名字和权限,保存在session中,期中quanxian=1代表超级管理员,2代表管理员,3代表普通用户。
<%
Stringuser=request.getParameter("username");
Stringpassword=request.getParameter("password");
user=newString(user.getBytes("ISO-8859-1"),"gb2312");
password=newString(password.getBytes("ISO-8859-1"),"gb2312");
if(user==null||password==null||user.equals("")||password.equals("")){
thrownewException("用户名或密码错误!
");
}
StringdriverClass=".microsoft.jdbc.sqlserver.SQLServerDriver";
Stringurl="jdbc:
microsoft:
sqlserver:
//127.0.0.1:
1433;DatabaseName=book";
Stringusername="sa";
Stringpasswd="iloveyou";
Class.forName(driverClass);//加载数据库驱动
Connectionconn=DriverManager.getConnection(url,username,passwd);//建立连接
Statementstmt=conn.createStatement();
ResultSetrs=stmt.executeQuery("select*frommanagerwherename='"+user+"'andpassword='"+password+"'");//执行查询语句
if(rs.next())
{
session.setAttribute("user",rs.getString("name"));
session.setAttribute("quanxian",rs.getString("quanxian"));
response.sendRedirect("index.jsp");
}
else
{
out.println("登录失败,你不是本站用户!
");
}
rs.close();
stmt.close();
conn.close();
%>
3.页面访问权限控制代码:
在用户登录的时候,把用户的全新存进了session。
所以判断权限的时候,就通过session来判断,如果是1.2.那么代表用户据有管理员权限,那么可以对页面进展访问,进展操作。
如果不是,那么不是管理员。
<%
Stringuser=(String)session.getAttribute("quanxian");
out.println(user);
if(!
user.equals("2")&&!
user.equals("1")){
thrownewException("你不是管理员!
");
}
if(user==null){
thrownewException("你未登录,请以管理员身份登录!
");
}
%>
结论
通过本次课程设计,我对WEB图书管理系统有了一定的认识,对JSP技术和JAVA以及MsSQL数据库也有了进一步的了解,丰富了自己的知识。
图书管理系统是一个比拟常见的信息管理系统,当前的很多技术或编程语言都可以将它很好的实现,之所以选择了JSP技术除了因为它是当前的网络编程的主流之外,JSP技术本身的优点也是一个很大的原因。
之前我对JSP技术的了解不多,在设计过程中参阅了不少的相关书籍和资料,锻炼了自我学习的能力。
目前系统的根本功能都得以了实现,但还有很多值得改良的地方,还有很多其它优秀同类图书管理系统软件值得学习和借鉴地方,如对违章信息的检索,书籍流通数据的统计等。
参考文献
[1]郭珍、王国辉.?
JSP程序设计教程?
.人民邮电,2008年5月