基于jsp图书查询系统设计

欢迎添加微信互相交流学习哦!

二维码

项目源码:https://gitee.com/oklongmm/biye2


1.题目说明
伴随着互联网的蓬勃发展,人们已经不再满足于信息的浏览和发布,而是渴望着能够充分享受网络所带来的更加多的便利。掌握计算机知识和应用,是培养新型人才的一个重要环节。在众多的计算机语言当中,Java无疑是最具生命力的语言之一,由于计算机发展带来的新应用的出现,Java越来越流行。作为一种程序设计语言,Java是分布式的、面向对象的、不依赖于机器的结构,它最大的利用了网络而不受CPU和环境的限制。
图书馆查询系统正适应了当今社会快节奏地生活,基于JSP开发设计,面对管理人员和普通用户不同群体的应用系统。管理员能登录系统,进行管理员注册,退出登录,查询图书,增加图书,删除图书,修改图书一系列功能,拥有最高的权限。而普通用户有注册,登录系统,退出系统,查询图书功能。
2.题意分析
图书查询系统是典型的信息查询系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。因此本人结合开入式图书系统的要求,对MySQL Server2000数据库管理系统、SQL语言原理、JSP应用程序设计进行了较深入的学习和应用,主要完成对图书管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。
3.设计目的
随着社会的发展,人类的生产、生活越来越离不开信息。谁拥有更多更有效的信息,谁就将在竞争中处于有利的地位。而图书作为信息存储及传播的主要媒体之一,其需求量也越来越大。与此同时,图书馆对图书管理的要求也越来越高,手工处理的弊端日益显示出来。由于手工管理方式的落后,处理数据的能力有限,工作效率低,不能及时为读者提供所需信息,各种数据得不到充分利用,这是目前图书馆管理工作存在的普遍问题。在计算机日益普及的今天,对图书管理而言,若采用一套行之有效的图书馆管理系统来管理书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求。解决这些问题最好的办法是实现图书信息管理的自动化,用计算机处理来代替手工处理。利用计算机强大的功能完成图书及读者数据的增删改查,以及图书的借出归还等各项操作。因此设计了图书查询系统,可以实现用户查询图书,管理员增删改查功能。
4.设计特点
本图书查询系统特点在于页面设计简单精美,功能较为完善,对普通用户操作要求不高,网页上面一目了然。在注册界面中运用正则表达式对字符串进行验证,规定好了注册格式,方便数据库的应用。
5.功能说明
本系统分为两大模块,分别是普通用户,管理员。
5.1.普通用户
注册:普通用户可以在注册页面上根据格式要求进行注册。
登录/注销:已经注册的用户可以在登录页面进行登录/在用户页面进行注销。
查询:用户可以在查询页面根据书号,书名,作者,出版社,地址进行查询功能,完成查询操作。
5.2.管理员
登录:管理员在登录页面上选择管理员进行登录。
注册:管理员在管理员页面上进行新的管理员注册。
注销:管理员在管理员页面上进行注销操作。
查询:管理员在查询页面上根据书号,书名,作者,出版社,地址进行查询。
增加图书:管理员在增加图书页面增加图书。
删除图书:管理员在删除图书页面删除图书。
修改图书:管理员在修改图书页面修改图书。
6.主要程序段
6.1.Index.jsp
<%@ page language=java import=java.util.* import= java.sql.* pageEncoding=utf-8%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+://+request.getServerName()+:+request.getServerPort()+path+/;
%>

 

 

 


>

 

 

 

 

 

 

 







<%
request.setCharacterEncoding(utf-8);
String str_submit = request.getParameter(submit);
String str_bookid = request.getParameter(bookid);
String str_bookname = request.getParameter(bookname);
String str_writer = request.getParameter(writer);
String str_publish = request.getParameter(publish);

String driverClass=com.mysql.jdbc.Driver;
String url=jdbc:mysql://localhost:3306/javaks;
String user=root;
String password=;
Connection conn=null;
ResultSet rs=null;
try {
Class.forName(driverClass);
conn=DriverManager.getConnection(url,user,password);
}catch(Exception e){
e.printStackTrace();
}
Statement stmt=conn.createStatement();
stmt.execute(set names utf8);

if(str_submit.equals(查询所有可借图书)){
String sql=select * from tsxx;
rs=stmt.executeQuery(sql);
out.print();
while(rs.next()){
out.print();
}
out.print(

书号书名作者出版社所在位置备注
);
out.print(rs.getString(1));
out.print(
);
out.print(rs.getString(2));
out.print(
);
out.print(rs.getString(3));
out.print(
);
out.print(rs.getString(4));
out.print(
);
out.print(rs.getString(5));
out.print(
);
out.print(rs.getString(6));
out.print(

);
}
else if(str_submit.equals(按书号查询)){
String sql=select * from tsxx where bookid=+str_bookid+;
rs=stmt.executeQuery(sql);
if(rs.next())
{ rs=stmt.executeQuery(sql);
out.print();
while(rs.next()){
out.print();
}
out.print(

书号书名作者出版社所在位置备注
);
out.print(rs.getString(1));
out.print(
);
out.print(rs.getString(2));
out.print(
);
out.print(rs.getString(3));
out.print(
);
out.print(rs.getString(4));
out.print(
);
out.print(rs.getString(5));
out.print(
);
out.print(rs.getString(6));
out.print(

);}
else {
out.print( );
stmt.close();
conn.close();
}
}
else if(str_submit.equals(按书名查询)){
String sql=select * from tsxx where bookname=+str_bookname+;
rs=stmt.executeQuery(sql);
if(rs.next())
{ rs=stmt.executeQuery(sql);
out.print();
while(rs.next()){
out.print();
}
out.print(

书号书名作者出版社所在位置备注
);
out.print(rs.getString(1));
out.print(
);
out.print(rs.getString(2));
out.print(
);
out.print(rs.getString(3));
out.print(
);
out.print(rs.getString(4));
out.print(
);
out.print(rs.getString(5));
out.print(
);
out.print(rs.getString(6));
out.print(

);}
else {
out.print( );
stmt.close();
conn.close();
}
}
else if(str_submit.equals(按作者查询)){
String sql=select * from tsxx where writer=+str_writer+;
rs=stmt.executeQuery(sql);
if(rs.next())
{ rs=stmt.executeQuery(sql);
out.print();
while(rs.next()){
out.print();
}
out.print(

书号书名作者出版社所在位置备注
);
out.print(rs.getString(1));
out.print(
);
out.print(rs.getString(2));
out.print(
);
out.print(rs.getString(3));
out.print(
);
out.print(rs.getString(4));
out.print(
);
out.print(rs.getString(5));
out.print(
);
out.print(rs.getString(6));
out.print(

);}
else {
out.print( );
stmt.close();
conn.close();
}
}
else if(str_submit.equals(按出版社查询)){
String sql=select * from tsxx where publish=+str_publish+;
rs=stmt.executeQuery(sql);
if(rs.next())
{ rs=stmt.executeQuery(sql);
out.print();
while(rs.next()){
out.print();
}
out.print(

书号书名作者出版社所在位置备注
);
out.print(rs.getString(1));
out.print(
);
out.print(rs.getString(2));
out.print(
);
out.print(rs.getString(3));
out.print(
);
out.print(rs.getString(4));
out.print(
);
out.print(rs.getString(5));
out.print(
);
out.print(rs.getString(6));
out.print(

);}
else {
out.print( );
stmt.close();
conn.close();
}
}
%>


6.2.denglu.jsp
<%@ page language=java import=java.util.* import= java.sql.* pageEncoding=utf-8%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+://+request.getServerName()+:+request.getServerPort()+path+/;
%>


 

>
 

 

 

 

 

 







<%
request.setCharacterEncoding(utf-8);
String str_username = request.getParameter(username);
String str_password = request.getParameter(password);
String str_dlqx=request.getParameter(dlqx);
if(str_username.equals()){out.println( );}
else if(str_password.equals()){out.println( );}
else {
String driverClass=com.mysql.jdbc.Driver;
String url=jdbc:mysql://localhost:3306/javaks;
String user=root;
String password=;
Connection conn=null;
ResultSet rs=null;
try {
Class.forName(driverClass);
conn=DriverManager.getConnection(url,user,password);
}catch(Exception e){
e.printStackTrace();
}
if(str_dlqx.equals(普通用户)){
Statement stmt=conn.createStatement();
String sql=select * from userinfo where username=+str_username+ and password=+str_password+;
rs=stmt.executeQuery(sql);
if(rs.next())
{session.setAttribute(str_username,普通用户);
out.print( );
}
else{out.print( );}
}
else if(str_dlqx.equals(管理员)){
Statement stmt=conn.createStatement();
String sql=select * from admin where username=+str_username+ and password=+str_password+;
rs=stmt.executeQuery(sql);
if(rs.next())
{session.setAttribute(str_username,管理员);
out.print( );
}
else{out.print( );}
}
}
%>


6.3.select.jsp
<%@ page language=java import=java.util.* import= java.sql.* pageEncoding=utf-8%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+://+request.getServerName()+:+request.getServerPort()+path+/;
%>

 

 

 


>

 

 

 

 

 

 

 







<%
request.setCharacterEncoding(utf-8);
String str_submit = request.getParameter(submit);
String str_bookid = request.getParameter(bookid);
String str_bookname = request.getParameter(bookname);
String str_writer = request.getParameter(writer);
String str_publish = request.getParameter(publish);

String driverClass=com.mysql.jdbc.Driver;
String url=jdbc:mysql://localhost:3306/javaks;
String user=root;
String password=;
Connection conn=null;
ResultSet rs=null;
try {
Class.forName(driverClass);
conn=DriverManager.getConnection(url,user,password);
}catch(Exception e){
e.printStackTrace();
}
Statement stmt=conn.createStatement();
stmt.execute(set names utf8);

if(str_submit.equals(查询所有可借图书)){
String sql=select * from tsxx;
rs=stmt.executeQuery(sql);
out.print();
while(rs.next()){
out.print();
}
out.print(

书号书名作者出版社所在位置备注
);
out.print(rs.getString(1));
out.print(
);
out.print(rs.getString(2));
out.print(
);
out.print(rs.getString(3));
out.print(
);
out.print(rs.getString(4));
out.print(
);
out.print(rs.getString(5));
out.print(
);
out.print(rs.getString(6));
out.print(

);
}
else if(str_submit.equals(按书号查询)){
String sql=select * from tsxx where bookid=+str_bookid+;
rs=stmt.executeQuery(sql);
if(rs.next())
{ rs=stmt.executeQuery(sql);
out.print();
while(rs.next()){
out.print();
}
out.print(

书号书名作者出版社所在位置备注
);
out.print(rs.getString(1));
out.print(
);
out.print(rs.getString(2));
out.print(
);
out.print(rs.getString(3));
out.print(
);
out.print(rs.getString(4));
out.print(
);
out.print(rs.getString(5));
out.print(
);
out.print(rs.getString(6));
out.print(

);}
else {
out.print( );
stmt.close();
conn.close();
}
}
else if(str_submit.equals(按书名查询)){
String sql=select * from tsxx where bookname=+str_bookname+;
rs=stmt.executeQuery(sql);
if(rs.next())
{ rs=stmt.executeQuery(sql);
out.print();
while(rs.next()){
out.print();
}
out.print(

书号书名作者出版社所在位置备注
);
out.print(rs.getString(1));
out.print(
);
out.print(rs.getString(2));
out.print(
);
out.print(rs.getString(3));
out.print(
);
out.print(rs.getString(4));
out.print(
);
out.print(rs.getString(5));
out.print(
);
out.print(rs.getString(6));
out.print(

);}
else {
out.print( );
stmt.close();
conn.close();
}
}
else if(str_submit.equals(按作者查询)){
String sql=select * from tsxx where writer=+str_writer+;
rs=stmt.executeQuery(sql);
if(rs.next())
{ rs=stmt.executeQuery(sql);
out.print();
while(rs.next()){
out.print();
}
out.print(

书号书名作者出版社所在位置备注
);
out.print(rs.getString(1));
out.print(
);
out.print(rs.getString(2));
out.print(
);
out.print(rs.getString(3));
out.print(
);
out.print(rs.getString(4));
out.print(
);
out.print(rs.getString(5));
out.print(
);
out.print(rs.getString(6));
out.print(

);}
else {
out.print( );
stmt.close();
conn.close();
}
}
else if(str_submit.equals(按出版社查询)){
String sql=select * from tsxx where publish=+str_publish+;
rs=stmt.executeQuery(sql);
if(rs.next())
{ rs=stmt.executeQuery(sql);
out.print();
while(rs.next()){
out.print();
}
out.print(

书号书名作者出版社所在位置备注
);
out.print(rs.getString(1));
out.print(
);
out.print(rs.getString(2));
out.print(
);
out.print(rs.getString(3));
out.print(
);
out.print(rs.getString(4));
out.print(
);
out.print(rs.getString(5));
out.print(
);
out.print(rs.getString(6));
out.print(

);}
else {
out.print( );
stmt.close();
conn.close();
}
}
%>


6.4.add.jsp
<%@ page language=java import=java.util.* import= java.sql.* pageEncoding=utf-8%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+://+request.getServerName()+:+request.getServerPort()+path+/;
%>


 

>
 

 

 

 

 

 







<%
request.setCharacterEncoding(utf-8);
String str_bookid = request.getParameter(bookid);
String str_bookname = request.getParameter(bookname);
String str_writer = request.getParameter(writer);
String str_publish = request.getParameter(publish);
String str_bookspace = request.getParameter(bookspace);
String str_booknote = request.getParameter(booknote);
if(str_bookid.equals()){out.println( );}
else if(str_bookname.equals()){out.println( );}
else if(str_writer.equals()){out.println( );}
else if(str_publish.equals()){out.println( );}
else if(str_bookspace.equals()){out.println( );}
else if(str_booknote.equals()){out.println( );}

else {
String driverClass=com.mysql.jdbc.Driver;
String url=jdbc:mysql://localhost:3306/javaks;
String user=root;
String password=;
Connection conn=null;
ResultSet rs=null;
try {
Class.forName(driverClass);
conn=DriverManager.getConnection(url,user,password);
}catch(Exception e){
e.printStackTrace();
}

Statement stmt=conn.createStatement();
String sql=select * from tsxx where bookid=+str_bookid+;
rs=stmt.executeQuery(sql);
if(rs.next())
{
out.print( );
stmt.close();
conn.close();
}
else
{
rs.close();
stmt.execute(set names utf8);
int i=stmt.executeUpdate(insert into tsxx values (+str_bookid+,+str_bookname+,+str_writer+,+str_publish+,+str_bookspace+,+str_booknote+));
stmt.close();
conn.close();
out.print( );
}
}
%>


6.5.delete.jsp
<%@ page language=java import=java.util.* import= java.sql.* pageEncoding=utf-8%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+://+request.getServerName()+:+request.getServerPort()+path+/;
%>

 

 

 


>

 

 

 

 

 

 

 







<%
request.setCharacterEncoding(utf-8);
String str_bookid = request.getParameter(bookid);
String driverClass=com.mysql.jdbc.Driver;
String url=jdbc:mysql://localhost:3306/javaks;
String user=root;
String password=;
Connection conn=null;
ResultSet rs=null;
try {
Class.forName(driverClass);
conn=DriverManager.getConnection(url,user,password);
}catch(Exception e){
e.printStackTrace();
}
Statement stmt=conn.createStatement();
stmt.execute(set names utf8);
String sql=select * from tsxx where bookid=+str_bookid+;
rs=stmt.executeQuery(sql);
if(rs.next())
{
rs.close();
int i=stmt.executeUpdate(delete from tsxx where bookid=+str_bookid+);
stmt.close();
conn.close();
out.print( );
}
else
{
out.print( );
stmt.close();
conn.close();
}
%>


6.6.updata.jsp
<%@ page language=java import=java.util.* import= java.sql.* pageEncoding=utf-8%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+://+request.getServerName()+:+request.getServerPort()+path+/;
%>

 

 

 


>

 

 

 

 

 

 

 







<%
request.setCharacterEncoding(utf-8);
String str_oldbookid = request.getParameter(oldbookid);
String str_newbookid = request.getParameter(newbookid);
String str_bookname = request.getParameter(bookname);
String str_writer = request.getParameter(writer);
String str_publish = request.getParameter(publish);
String str_bookspace = request.getParameter(bookspace);
String str_booknote = request.getParameter(booknote);
if(str_oldbookid.equals()){out.println( );}
if(str_newbookid.equals()){out.println( );}
else if(str_bookname.equals()){out.println( );}
else if(str_writer.equals()){out.println( );}
else if(str_publish.equals()){out.println( );}
else if(str_bookspace.equals()){out.println( );}
else if(str_booknote.equals()){out.println( );}
else {
String driverClass=com.mysql.jdbc.Driver;
String url=jdbc:mysql://localhost:3306/javaks;
String user=root;
String password=;
Connection conn=null;
ResultSet rs=null;
ResultSet rs2=null;
try {
Class.forName(driverClass);
conn=DriverManager.getConnection(url,user,password);
}catch(Exception e){
e.printStackTrace();
}
Statement stmt=conn.createStatement();
Statement stmt2=conn.createStatement();
stmt.execute(set names utf8);
String sql=select * from tsxx where bookid=+str_oldbookid+;
String sql2=select * from tsxx where bookid=+str_newbookid+;
rs=stmt.executeQuery(sql);
rs2=stmt2.executeQuery(sql2);
if(!rs.next())
{ out.print( );
stmt.close();
conn.close();
}
else if(rs2.next()){out.print( );}
else
{
rs.close();
int i=stmt.executeUpdate(update tsxx set bookid=+str_newbookid+,bookname=+str_bookname+,writer=+str_writer+,publish=+str_publish+,bookspace=+str_bookspace+,booknote=+str_booknote+where bookid=+str_oldbookid+);
stmt.close();
conn.close();
out.print( );
}
}
%>


6.7.addadmin.jsp
<%@ page language=java import=java.util.* import= java.sql.* pageEncoding=utf-8%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+://+request.getServerName()+:+request.getServerPort()+path+/;
%>

 

 

 


>

 

 

 

 

 

 

 





 

 

 

 

 

 

管理员注册
























 

用户名:
请输入用户名
密码:
请输入密码
确认密码:
请重新输入密码
常用邮箱:
请填写常用邮箱
验证码:
请输入验证码,如看不清请点击图片刷新验证码!!!
  


<%
String Login = (String)session.getAttribute(str_username);
if(Login != null && Login.equals(管理员)){}
else{out.print( );}
%>


7.运行结果分析以及测试结果
8.存在问题解决方法
本次课程升级的图书查询系统功能不够完善,管理员不能对用户进行管理(增加用户信息,修改用户信息,删除用户信息,查询用户信息)。
但是课设时间有限,未完成增加管理员对用户管理相应的模块。在暑假空闲时间中予以完成未能完成的功能。
9.设计收获体会
图书查询系统的研究与设计终于告一段落。在这一段时间内,我从最初的JDK的安装、MyEclipse的安装、MySQL的安装,到使用Tomcat建立Web项目连接数据库,一步步搭建环境、平台和开发项目。其中所涉及的知识有软件开发方法、JSP技术、数据库等等,让我获益匪浅。
本系统使用面向对象开发方法对图书馆管理系统进行分析和设计。面向对象分析的目的是对客观世界的系统进行建模。面向对象设计是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程。在本系统的分析和设计过程中,对面向对象开发方法进行了深入的学习和研究,并对此方法有了一定的理解和掌握。虽然整个开发过程告一段落,但是此系统仍然存在一些不足之处,有待以后日趋完善。现总结如下:
(1)通过本次系统的实际开发,更加熟悉使用了界面开发工具Dreamweaver、数据库开发工具MySQL、程序开发工具MyEclipse的使用。
(2)本设计系统实现了图书馆的读者和管理员的登录功能。
(3)实现了图书的增删改查。
程序开发的过程是一个很艰难的过程,一个程序的开发必然结合着许多的错误和困难,如果你对程序不是太了解,其间出现的困难更是非同凡响,对于刚刚接触程序不算太久的我们来说要想非常熟练的应用程序是非常困难的一件事情,这需要我们耐心的进行学习和了解决。在程序开发的过程当中难免会碰到不懂的问题,要善于总结和结合所学过和用过的知识,查找相关书籍,对不懂的章节和问题进行强化的理解和消化,经过错误的磨练才能够更好的锻炼自己,才起到了本次程序开发实验应该起到的作用。
编写完程序后要学会总结在编写过程中遇到的各种问题,朝着自己要走的那个方向出发,不要停歇和坚持是对于接触程序不久的我们来说最重要的事情,经验的积累将在今后的程序开发过程中起到十分重要的作用。
我的毕业设计论文具体论述了图书馆管理系统的主要功能及体系结构,重点讨论了系统数据准备、数据库的逻辑结构分析、各模块系统流程各功能模块的关联和响应,JSP与后台数据库链接等关键技术。其中存在许多问题与不足,如安全性能还不完善,缺少必要的数据加密系统等,这些功能与技术还需要加以提高和实现。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值