Java图书管理系统报告Word文件下载.docx
《Java图书管理系统报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《Java图书管理系统报告Word文件下载.docx(8页珍藏版)》请在冰豆网上搜索。
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、company、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="
com.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("
br>
用户名:
"
+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("
if(user==null||password==null||user.equals("
)||password.equals("
)){
thrownewException("
用户名或密码错误!
}
Stringpasswd="
Connectionconn=DriverManager.getConnection(url,username,passwd);
select*frommanagerwherename='
+user+"
'
andpassword='
+password+"
);
if(rs.next())
session.setAttribute("
user"
rs.getString("
name"
));
quanxian"
response.sendRedirect("
index.jsp"
else
登录失败,你不是本站用户!
3.页面访问权限控制代码:
在用户登录的时候,把用户的全新存进了session。
所以判断权限的时候,就通过session来判断,如果是1.2.则代表用户据有管理员权限,则可以对页面进行访问,进行操作。
如果不是,则不是管理员。
%
Stringuser=(String)session.getAttribute("
out.println(user);
if(!
user.equals("
2"
)&
&
!
1"
你不是管理员!
if(user==null){
你未登录,请以管理员身份登录!
结论
通过本次课程设计,我对WEB图书管理系统有了一定的认识,对JSP技术和JAVA以及MsSQL数据库也有了进一步的了解,丰富了自己的知识。
图书管理系统是一个比较常见的信息管理系统,当前的很多技术或编程语言都可以将它很好的实现,之所以选择了JSP技术除了因为它是当前的网络编程的主流之外,JSP技术本身的优点也是一个很大的原因。
之前我对JSP技术的了解不多,在设计过程中参阅了不少的相关书籍和资料,锻炼了自我学习的能力。
目前系统的基本功能都得以了实现,但还有很多值得改进的地方,还有很多其它优秀同类图书管理系统软件值得学习和借鉴地方,如对违章信息的检索,书籍流通数据的统计等。
参考文献
[1]郭珍、王国辉.《JSP程序设计教程》.人民邮电出版社,2008年5月