JavaWeb课设图书馆管理程序.docx
《JavaWeb课设图书馆管理程序.docx》由会员分享,可在线阅读,更多相关《JavaWeb课设图书馆管理程序.docx(25页珍藏版)》请在冰豆网上搜索。
JavaWeb课设图书馆管理程序
课程设计说明书
课设题目:
基于Javaweb的图书管理系统
指导教师:
学院:
学生姓名:
学号:
专业班级:
2015年01月02日
成绩评定
姓名:
学号:
班级:
评分项目
分数
程序功能完善(30分)
回答问题正确(20分)
设计报告规范(30分)
(结构完整,图表正确,文字通顺,版面工整)
代码质量(10分)
(类、方法及变量等的命名符合规范,主要方法
及字段有注释,程序有适当缩进)
平时表现(10分)
(独立完成,态度认真)
评定成绩
目录
1系统开发目标及设计思想1
1.1系统开发基本目标1
1.2系统开发设计思想错误!
未定义书签。
2关键技术1
3系统功能设计2
4各功能代码设计2
5使用说明10
6设计体会15
参考文献15
1系统开发目标及设计思想
1.1系统开发基本目标
该系统包括以下功能:
1.面向读者的功能有:
图书列表的查询,图书借阅,图书归还,图书的快速定位查询,由于此系统所面向的功能有限,每本书提供出版社,出版日期的查询
2.面向管理员的功能有:
管理员的登录,重置,注销功能,管理员的修改以及显示等,还有管理员对图书的管理,即对用户实现的一些列操作,如对图书的增删改查,以及读者借阅图书和归还图书等。
1.2系统开发设计思想
(1)采用学校现有的软件和硬件环境以及设计要求开发系统。
(2)系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技
术维护人员补充,维护。
(3)程序设计符合面向对象的思想和原则。
(4)要有良好的程序风格(类、方法及变量等的命名要符合规范;类、方法及字段要有注释;程
序有适当缩进)
(5)采用文件对数据进行存储。
(6)人机界面美观,操作方便、实用。
2关键技术
在系统的开发过程中使用的Web应用服务器是Tomcat,是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、SUN和其他一些公司及个人共同开发而成。
由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现。
Tomcat是一个小型的轻量级应用服务器,它运行时占用的系统资源小、扩展性好、支持负载平衡和邮件服务等开发应用系统常用的功能,因此在中小型系统和并发访问用户不是很多的时候,经常被使用。
MicrosoftOfficeAccess是由微软发布的关系数据库管理系统。
它结合了MicrosoftJetDatabaseEngine和图形用户界面两项特点,是MicrosoftOffice的系统程序之一
为了开发的便捷快速,使用servlet容器对系统进行控制,担任系统的控制层,是程序的枢纽部分。
3.系统功能设计
3.1读者模块功能
该模块主要有对读者用户的登陆,重置,退出功能。
如果想要借书或还书,就必须先通过读者登录,成为该系统的读者用户,进而才能对书籍进行借还。
3.2系统管理员模块功能
该模块主要包括对管理员进行登陆,重置,退出功能。
管理员可以通过一个账号登录管理系统,之后对所有图书进行统一管理,图书列表显示了所有图书的信息,管理员可以对所有图书进行查看,增添,修改和移除操作。
3.3图书借还模块功能
该模块主要是对图书进行借还操作的一个管理模块,列表主要显示图书的ID号,书名,作者,出版社,出版日期,上架建议,借阅状态信息。
当用户点击图书查询按钮,页面将跳转到查询界面,根据用户输入的图书ID号从数据库中查找到相关图书内容,并加以显示;当用户点击借阅按钮,系统会根据用户要借阅的ID号跳转到借阅页,用户确认图书信息准确无误后,点击确认借阅按钮,借阅成功;当用户点击还书按钮,根据图书ID号跳转到还书页,还书成功,数据库图书库存进行更改。
3.4图书管理模块功能
该模块主要是对图书进行统一的管理,功能包括对图书的入库,移出,修订,快速检索等,图书列表主要显示图书的ID号,书名,出版社,出版年份,上架建议等。
点击书名进入图书详细页面,能看到该图书的详细信息,除刚才所说信息外还有该书籍的作者以及图片,和正被借阅的读者用户名。
同时在列表页面可根据图书的ID进行查询,能更好的定位某本书或某些书。
3.5数据库模块
数据库中包含图书的ID号,书名,作者,出版社,出版日期,上架建议,可借数量的信息,通过servlet实时根据页面提交的结果动态更新数据库。
4各功能代码设计
4.1读者以及管理员登陆
如果传入的帐号和密码能够获得一个用户,则让其登陆成功,并加载用户列表,若用户名密码不正确则提示错误信息。
<%
Stringuid=request.getParameter("uid");
Stringpwd=request.getParameter("pwd");
System.out.println(uid+"|"+pwd);
if(uid!
=null&&uid.length()!
=0&&
pwd!
=null&&pwd.length()!
=0)
{
if(uid.equals("wyl")&&pwd.equals("1234"))
{
out.println("登录成功!
");
}
else
{
out.println("非法的用户名和密码!
");
}
}
%>
4.2读者页面
4.2.1读者主页面
利用servlet查找数据库中的所有图书信息,并显示出来。
页面代码:
<%@page
contentType="text/html;charset=gbk"
import="wyl.DBUtil,java.util.*"
%>
欢迎登陆
--
-->
欢迎你,使用图书管理系统
图书管理系统
|
查找图书
借阅图书
归还图书
<%
Listll=DBUtil.getList();
if(ll.size()==0)
{
%>
对不起目前没有任何图书!
!
!
<%
}
else
{
%>
cellpadding="1"cellspacing="1"
>
全部图书
图书编号
书名
作者
出版社
出版日期
上架建议
是否借阅
|
<%
intc=0;
for(String[]sa:
ll)
{
StringcolorStr=(c%2==0)?
"#fffefe":
"#9ccdfe";
c++;
%>
"><%=sa[0]%>
"><%=sa[1]%>
"><%=sa[2]%>
"><%=sa[3]%>
"><%=sa[4]%>
"><%=sa[5]%>
">id=<%=sa[0]%>">借阅
|
<%
}
%>
<%
}
%>
<%
inttotalCount=DBUtil.getCount();
out.print("共"+totalCount+"本图书");
%>
管理员登陆Servlet部分代码:
publicstaticListgetList()
{
Listls=newArrayList();
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connectioncon=DriverManager.getConnection("jdbc:
odbc:
news","","");
Statementst=con.createStatement();
ResultSetrs=st.executeQuery("selectID,title,author,content,times,keywfromnewsorderbytimesdesc");
while(rs.next())
{
String[]rows=newString[6];
for(inti=1;i<7;i++)
{
rows[i-1]=rs.getString(i);
}
ls.add(rows);
}
rs.close();
st.close();
con.close();
}
catch(Exceptione)
{
e.printStackTrace();
}
returnls;
}
publicstaticintgetCount()
{
intcount=0;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connectioncon=DriverManager.getConnection("jdbc:
odbc:
news","","");
Statementst=con.createStatement();
ResultSetrs=st.executeQuery("selectcount(ID)asIDcountfromnews");
rs.next();
count=rs.getInt("IDcount");
rs.close();
st.close();
con.close();
}
catch(Exceptione)
{
e.printStackTrace();
}
returncount;
}
4.2.2借阅,查询,归还界面:
图书管理系统
|
|
请输入关键字:
返回首页
Servlet查询代码实现:
publicstaticListgetbook(StringID)
{
Listls=newArrayList();
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connectioncon=DriverManager.getConnection("jdbc:
odbc:
news","","");
Statementst=con.createStatement();
ResultSetrs=st.executeQuery("selectID,title,author,content,times,keyw,numberfromnewswhereID="+ID);
while(rs.next())
{
String[]rows=newString[7];
for(inti=1;i<8;i++)
{
rows[i-1]=rs.getString(i);
}
ls.add(rows);
}
rs.close();
st.close();
con.close();
}
catch(Exceptione)
{
e.printStackTrace();
}
returnls;
}
Servlet借阅代码实现:
publicstaticintBeborrowBook(StringID)
{
intcount=0;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connectioncon=DriverManager.getConnection("jdbc:
odbc:
news","","");
Statementst=con.createStatement();
ResultSetrs=st.executeQuery("selectnumberfromnewswhereID="+ID);
rs.next();
count=rs.getInt("number");
rs.close();
st.close();
con.close();
}
catch(Exceptione)
{
e.printStackTrace();
}
returncount;
}
publicstaticintAfborrowBook(StringID)
{
intcount=0;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connectioncon=DriverManager.getConnection("jdbc:
odbc:
news","","");
Statementst=con.createStatement();
inttemp=BeborrowBook(ID)-1;
st.executeUpdate("updatenewssetnumber='"+temp+"'whereID="+ID);
st.close();
con.close();
}
catch(Exceptione)
{
e.printStackTrace();
}
returncount;
}
Servle还书代码实现:
publicstaticvoidbackbook(StringID)
{
intcount=0;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connectioncon=DriverManager.getConnection("jdbc:
odbc:
news","","");
Statementst=con.createStatement();
ResultSetrs=st.executeQuery("selectnumberasnumberIDfromnewswhereID="+ID);
rs.next();
count=rs.getInt("numberID");
st.executeUpdate("updatenewssetnumber='"+count+"'whereID="+ID);
st.close();
con.close();
}
catch(Exceptione)
{
e.printStackTrace();
}
}
4.3管理员功能代码
4.3.1管理员主管理页面
<%@page
contentType="text/html;charset=gbk"
import="wyl.DBUtil,java.util.*"
%>
后台管理<%
Listll=DBUtil.getList();
if(ll.size()==0)
{
%>
对不起目前没有任何图书!
!
!
<%
}
else
{
%>
cellpadding="1"cellspacing="1"
>
全部图书
图书编号
书名
作者
出版社
出版日期
上架建议
|
<%
intc=0;
for(String[]sa:
ll)
{
StringcolorStr=(c%2==0)?
"#fffefe":
"#9ccdfe";
c++;
%>
"><%=sa[0]%>
"><%=sa[1]%>
"><%=sa[2]%>
"><%=sa[3]%>
"><%=sa[4]%>
"><%=sa[5]%>
|
<%
}
%>
<%
}
%>
<%
inttotalCount=DBUtil.getCount();
out.print("共"+totalCount+"本图书");
%>
管理图书4.3.2管理员增添书籍
if(request.getParameter("title")!
=null){
DBUtil.addBooks("currid",title,content,keyw,author);
out.println("
");out.println("
新闻添加成功!
");
out.println("
");}else{
out.println("
");out.println("
请输入正确的信息后再进行录入!
");
out.println("
");}