1、 2.题意分析 2 3.设计目的 2 4. 设计特点 3 5. 功能说明 3 5.1.普通用户 3 5.2.管理员 3 6. 主要程序段 3 6.1.Index.jsp 3 6.2.denglu.jsp 8 6.3.select.jsp 10 6.4.add.jsp 14 6.5.delete.jsp 17 6.6.updata.jsp 20 6.7.addadmin.jsp 22 7. 运行结果分析以及测试结果 25 8.存在问题解决方法 26 9. 设计收获体会 26 10. 致谢 27 1.题目说明 伴随着互联网的蓬勃发展,人们已经不再满足于信
2、息的浏览和发布,而是渴望着能够充分享受网络所带来的更加多的便利。掌握计算机知识和应用,是培养新型人才的一个重要环节。在众多的计算机语言当中,Java无疑是最具生命力的语言之一,由于计算机发展带来的新应用的出现,Java越来越流行。作为一种程序设计语言,Java是分布式的、面向对象的、不依赖于机器的结构,它最大的利用了网络而不受CPU和环境的限制。 图书馆查询系统正适应了当今社会快节奏地生活,基于JSP开发设计,面对管理人员和普通用户不同群体的应用系统。管理员能登录系统,进行管理员注册,退出登录,查询图书,增加图书,删除图书,修改图书一系列功能,拥有最高的权限。而普通用户有注册,登录系统,退出
3、系统,查询图书功能。 2.题意分析 图书查询系统是典型的信息查询系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。因此本人结合开入式图书系统的要求,对MySQL Server2000数据库管理系统、SQL语言原理、JSP应用程序设计进行了较深入的学习和应用,主要完成对图书管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。 3.设计目的 随着社会的发展,人类的生产、生活越来越离不开信息。谁拥有更多更有效的信息,谁就将在竞争中处于有利的地位。而图书作为信息存储及传播的主要媒体之一,其需求量也越来越大。与此同时,图书馆对图书管理的要求
4、也越来越高,手工处理的弊端日益显示出来。由于手工管理方式的落后,处理数据的能力有限,工作效率低,不能及时为读者提供所需信息,各种数据得不到充分利用,这是目前图书馆管理工作存在的普遍问题。在计算机日益普及的今天,对图书管理而言,若采用一套行之有效的图书馆管理系统来管理书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求。解决这些问题最好的办法是实现图书信息管理的自动化,用计算机处理来代替手工处理。利用计算机强大的功能完成图书及读者数据的增删改查,以及图书的借出归还等各项操作。因此设计了图书查询系统,可以实现用户查询图书,管理员增删改查功能。 4. 设计特点 本
5、图书查询系统特点在于页面设计简单精美,功能较为完善,对普通用户操作要求不高,网页上面一目了然。在注册界面中运用正则表达式对字符串进行验证,规定好了注册格式,方便数据库的应用。 5. 功能说明 本系统分为两大模块,分别是普通用户,管理员。 5.1.普通用户 注册:普通用户可以在注册页面上根据格式要求进行注册。 登录/注销:已经注册的用户可以在登录页面进行登录/在用户页面进行注销。 查询:用户可以在查询页面根据书号,书名,作者,出版社,地址进行查询功能,完成查询操作。 5.2.管理员 登录:管理员在登录页面上选择管理员进行登录。
6、注册:管理员在管理员页面上进行新的管理员注册。 注销:管理员在管理员页面上进行注销操作。 查询:管理员在查询页面上根据书号,书名,作者,出版社,地址进行查询。 增加图书:管理员在增加图书页面增加图书。 删除图书:管理员在删除图书页面删除图书。 修改图书:管理员在修改图书页面修改图书。 6. 主要程序段 6.1.Index.jsp <%@ page language="java" import="java.util.*" import= "java.sql.* " pageEncoding="utf-8"%> <% String pat
7、h = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>
8、eta http-equiv="pragma" content="no-cache">
<% request.setCharacterEncoding("utf-8"); String str_submit = request.getParameter("submit"); String str_bookid = request.getParameter("bookid"); String str_bookname = request.getParameter("bookname"); String str_wr10、iter = 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="";
11、 Connection conn=null; ResultSet rs=null; try { Class.forName(driverClass); conn=DriverManager.getConnection(url,user,password); }catch(Exception e){ e.printStackTrace(); } Statement st
12、mt=conn.createStatement(); stmt.execute("set names utf8"); if(str_submit.equals("查询所有可借图书")){ String sql="select * from tsxx"; rs=stmt.executeQuery(sql); out.print("
| 书号 | 书名 | 作者 | 出版社 13、td> | 所在位置 | 备注 |
| "); out.print(rs.getString(1)); out.print(" | "); out.print(rs.getString(2)); out.print(" | ");
out.print(rs.getStrin 14、g(3)); out.print(" | "); out.print(rs.getString(4)); out.print(" | "); out.print(rs.getString(5)); out.print(" | "); out.print(rs.getString(6)); out.print(" |
| 书号 | 书名 | 作者 | 出版社 | 所在位置 | 备注 |
| "); out.print(rs.getString(1)); out.print(" | ");
out.print(rs.getString(2)); 17、 out.print(" | "); out.print(rs.getString(3)); out.print(" | "); out.print(rs.getString(4)); out.print(" | "); out.print(rs.getString(5)); out.print(" | ");
out.pri 18、nt(rs.getString(6)); out.print(" |
19、f(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("
| 书号 | 书名 | 20、>作者 | 出版社 | 所在位置 | 备注 |
| "); out.print(rs.getString(1)); out.print(" | "); out.print(rs.getString(2)); out.print(" | ");
out. 21、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(" |
23、 from tsxx where writer='"+str_writer+"'"; rs=stmt.executeQuery(sql); if(rs.next()) { rs=stmt.executeQuery(sql); out.print("
| 书号 | 书名 | 作者 | 出版社 | 所在位置 | 备注 |
| "); out.print(rs.getString(1)); out.print(" | "); out.print(rs.getString(2)); out.print(" | "); out.print(rs.getString(3)); out.print(" | ");
25、 out.print(rs.getString(4)); out.print(" | "); out.print(rs.getString(5)); out.print(" | "); out.print(rs.getString(6)); out.print(" |
26、 else { out.print(""); stmt.close(); conn.close(); } } else if(str_submit.equals("按出版社查询")){ String sql="select * from tsxx where publish='"+str_publish+"'"; rs=stmt.e
27、xecuteQuery(sql); if(rs.next()) { rs=stmt.executeQuery(sql); out.print("
| 书号 | 书名 | 作者 | 出版社 | 所在位置 | 备注 |
| ");
28、 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. 29、print(" | "); out.print(rs.getString(5)); out.print(" | "); out.print(rs.getString(6)); out.print(" |
31、g basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>
32、p-equiv="pragma" content="no-cache">
<% request.setCharacterEncoding("utf-8"); String str_username = request.getParameter("username"); String str_password = request.getParameter("password"); String str_dlqx=request.getParameter("dlqx"); if(str_userna34、me.equals("")){out.println("");} else if(str_password.equals("")){out.println("");} else { String driverClass="com.mysql.jdbc.Driver";
35、 String url="jdbc:mysql://localhost:3306/javaks"; String user="root"; String password=""; Connection conn=null; ResultSet rs=null; try { Class.forName(driverClass); conn=DriverManager.g
36、etConnection(url,user,password); }catch(Exception e){ e.printStackTrace(); } if(str_dlqx.equals("普通用户")){ Statement stmt=conn.createStatement(); String sql="select * from userinfo where username=
37、'"+str_username+"' and password='"+str_password+"'"; rs=stmt.executeQuery(sql); if(rs.next()) {session.setAttribute("str_username","普通用户"); out.print("");
38、 } else{out.print("");} } else if(str_dlqx.equals("管理员")){ Statement stmt=conn.createStatement(); String sql="select *
39、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.* "
41、pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>
42、
44、eter("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";
45、 String password=""; Connection conn=null; ResultSet rs=null; try { Class.forName(driverClass); conn=DriverManager.getConnection(url,user,password); }catch(Exception e){ e.printStack
46、Trace(); } Statement stmt=conn.createStatement(); stmt.execute("set names utf8"); if(str_submit.equals("查询所有可借图书")){ String sql="select * from tsxx"; rs=stmt.executeQuery(sql); out.print("
47、书号 | 书名 | 作者 | 出版社 | 所在位置 | 备注 |
| "); out.print(rs.getString(1)); out.print(" | "); out.print(rs.getString(2)); out.print(" | " 48、); 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));
o 49、ut.print(" |
50、sql); out.print("
| 书号 | 书名 | 作者 | 出版社 | 所在位置 | 备注 |
| "); out.print(rs.getString(1)); out.print(" | ");
|