当前位置:文档之家› 基于java的小型图管理系统设计与实现设计

基于java的小型图管理系统设计与实现设计

小型图书管理系统设计与实现目录1、引言 (2)1.1选题 (2)1.2开发计划 (2)1.3开发工具与环境配置 (2)2、系统概述 (3)2.1需求分析 (3)2.2系统的架构 (3)3、详细设计 (5)3.1功能结构图 (5)3.2数据库设计 (5)3.3页面的结构和关系图 (5)3.4模块设计 (6)4. 系统实现 (17)5.结束语 (19)1、引言1.1选题为了实现图书管理的自动化,现对其设计相应的系统。

与图书馆管理信息系统不同,本系统为小型图书管理系统,用于个人对所拥有的图书进行管理,具有管理员登录以及图书的增删改查功能。

1.2开发计划设计一个小型图书管理系统,该系统由登录模块和功能模块组成。

登录模块实现管理员登录,功能模块分为图书查询、图书入库、图书删除、图书修改四个部分。

1.3开发工具与环境配置操作系统:Windows 7数据库服务器:SQL server 2000(采用ODBC数据源连接)Web服务器:Tomcat开发工具:eclipse6.0环境配置JDK安装路径:C:\jdkTomcat服务器安装路径:D:\java软件\tomcat\apache-tomcat-7.0.37-windows-x86\apache-tomcat-7.0.37环境变量设置JA V A_HOME=D:\jdk CLASSPATH=%JavaHome%\lib\dt.jar;%JavaHome%\lib\tools.jarPATH变量添加的部分:%JA V A_HOME%\bin2、系统概述2.1需求分析2.1.1图书管理系统需求概述图书管理系统的开发主要涉及到管理员登录和图书信息管理。

图书信息管理包括:添加新进图书、删除旧图书、修改图书信息、图书查询。

图书管理员可以浏览、查询、添加、删除、修改图书的基本信息。

2.1.2功能需求(1)管理员登录——只有管理员才能对图书信息进行操作(1)图书信息浏览——对入库的图书按编号进行浏览;(2)图书查询——根据书名对图书进行快速查询;(3)图书管理——对图书馆的书籍进行管理,添加、删除以及修改信息;2.1.3 性能需求可靠性和可用性需求:(1)系统中的软件可以每天使用24小时,每年使用365天;(2)系统中的软件故障率小于等于5%。

2.2系统的架构考虑到本系统简单、容易实现,故没有采用传统的MVC模式,而是以纯JSP页面来实现各模块之间的跳转。

3、详细设计3.1功能结构图图1 图书管理系统功能结构图3.2数据库设计根据系统分析,设计图书信息管理系统的数据库(tsgl)表有:管理员信息表(表1)、图书信息表(表2)。

表结构如下:表1:gly_id 字段 说明 类型 长度 主键 备注 username 用户名 varchar 50 no password 密码 varchar 30 no 表2:t_book字段 说明 类型 长度 主键 备注 id 图书编号 char 11 yes name 书名 varchar 50 no author 作者 char 10 publish 出版社 varchar 50no price 图书价格char11no图书管理面板 添加图书编辑图书删除图书登录界面查询图书3.3页面的结构和关系图密码错误密码正确登录界面 login.jsp 验证valid.jsp 图书管理面板bookList.jsp 插入操作bookAdd.jsp 删除操作 bookDel.jsp 修改操作 bookEdit.jsp 查询 操作 保存插入操作SaveBookAdd.jsp保存修改操作SavaBookEdit.jsp 图书管理面板bookList.jsp3.4模块设计3.4.1登录模块登录页面:Login.jsp<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>登录图书管理系统</title><style type="text/css"><!--.STYLE1 {font-size: 36px;font-weight: bold;}--></style></head><body bgcolor=cyan><form method="post" action="valid.jsp"><table width="400" height="120" border="1" align="center"><caption><span class="STYLE1">登录图书管理系统</span></caption><tr><td width="166">用户名:</td><td width="318"><input name="username" type="text" id="username"></td></tr><tr><td>密码:</td><td><input name="password" type="password" id="password"></td></tr><tr><td colspan="2" align="center"><input type="submit" name="Submit" value="登录"><input type="reset" name="Submit2" value="取消"></td></tr></table></form></body></html>验证程序:valid.jsp<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@ page import="java.sql.*" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>判断登录</title></head><body><%String user=request.getParameter("username");String pass=request.getParameter("password");Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection con = DriverManager.getConnection("jdbc:odbc:JDBC-ODBC","sa","sa");PreparedStatement ps =con.prepareStatement("select * from gly_id where username=? and password=?");ps.setString(1,user);ps.setString(2,pass);ResultSet rs = ps.executeQuery();if(rs.next()){response.sendRedirect("bookList.jsp");}else response.sendRedirect("Login.jsp");%></body></html>3.4.2图书管理模块(1)图书浏览&&查询页面:bookList.jsp<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@page import="java.sql.*"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>图书管理面板</title><style type="text/css"><!--.STYLE1 {font-size: 36px;font-weight: bold;}--></style></head><body><form name="form1" method="get" action="bookList.jsp"><table width="600" border="1" align="center" bgColor="#ffffff"><br><caption><span class="STYLE1">图书信息一览表</span></caption><br><center>请输入书名:<input type="text" name="name" size="16" maxlength="25"><input type="submit" name="submit" value="查询"></center><br><tr><td width="98" bgColor="#808000">编号</td><td width="118" bgColor="#808000">书名</td><td width="118" bgColor="#808000">作者</td><td width="108" bgColor="#808000">出版社</td><td width="78" bgColor="#808000">价格</td><td width="60" bgColor="#808000">编辑</td><td width="60" bgColor="#808000">删除</td></tr><%String name=null;String sql="";ResultSet rs=null;if(request.getParameter("name")!=null)name=newString(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");if (name==null)sql="select * from t_book order by id";elsesql="select * from t_book where name like'%"+name+"%' order by id";System.out.print(name);try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection con = DriverManager.getConnection("jdbc:odbc:JDBC-ODBC","sa","sa");Statement st=con.createStatement();rs=st.executeQuery(sql);while(rs.next()){String ID=rs.getString("id");%><tr><td><%=ID %></td><td><%=rs.getString("name") %></td><td><%=rs.getString("author") %></td><td><%=rs.getString("publish") %></td><td><%=rs.getString("price") %></td><td><a href="bookEdit.jsp?id=<%=ID%>">修改</a></td><td><a href="BookDel.jsp?id=<%=ID%>">删除</a></td></tr><%}st.close();con.close();}catch(Exception e){e.printStackTrace();}%><tr><td colspan="7" align="center" bgcolor="#ff8000"><input name="add" type="button" value="添加图书" onClick="location='BookAdd.jsp'"></td></tr></table></form></body></html>(2)图书添加页面:BookAdd.jsp<%@page language="java"contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"><title>添加图书信息</title><style type="text/css"><!--.STYLE1 {font-size: 36px;font-weight: bold;}--></style></head><body><form name="form1"method="post"action="bookSaveAdd.jsp"><div align="center"class="STYLE1">添加图书信息</div><table width="300"height="120"border="1"align="center"><tr><td>编号:</td><td><input type="text"name="id"></td></tr><tr><td width="74">书名:</td><td width="210"><input type="text"name="name"></td></tr><tr><td>作者:</td><td><input type="text"name="author"></td></tr><tr><td>出版社:</td><td><input type="text"name="publish"></td></tr><tr><td>价格:</td><td><input type="text"name="price"></td></tr><tr><td colspan="2"align="center"><input type="submit"name="Submit1"value="提交"><input type="reset"name="Submit2"value="重置"></td></tr></table></form>保存添加程序:SaveBookAdd.jsp<%@page language="java"contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@page import="java.sql.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"><title>图书管理面板</title><style type="text/css"><!--.STYLE1 {font-size: 36px;font-weight: bold;}--></head><body><form name="form1"method="get"action="bookList.jsp"><table width="600"border="1"align="center"bgColor="#ffffff"><br><caption><span class="STYLE1">图书信息一览表</span></caption><br><center>请输入书名:<input type="text"name="name"size="16" maxlength="25"><input type="submit"name="submit"value="查询"></center> <br><tr><td width="98"bgColor="#808000">编号</td><td width="118"bgColor="#808000">书名</td><td width="118"bgColor="#808000">作者</td><td width="108"bgColor="#808000">出版社</td><td width="78"bgColor="#808000">价格</td><td width="60"bgColor="#808000">编辑</td><td width="60"bgColor="#808000">删除</td></tr><%String name=null;String sql="";ResultSet rs=null;if(request.getParameter("name")!=null)name=newString(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");if (name==null)sql="select * from t_book order by id";elsesql="select * from t_book where name like'%"+name+"%' order by id"; System.out.print(name);try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection con = DriverManager.getConnection("jdbc:odbc:JDBC-ODBC","sa","sa");Statement st=con.createStatement();rs=st.executeQuery(sql);while(rs.next()){String ID=rs.getString("id");%><tr><td><%=ID %></td><td><%=rs.getString("name") %></td><td><%=rs.getString("author") %></td><td><%=rs.getString("publish") %></td><td><%=rs.getString("price") %></td><td><a href="bookEdit.jsp?id=<%=ID%>">修改</a></td><td><a href="BookDel.jsp?id=<%=ID%>">删除</a></td></tr><%}st.close();con.close();}catch(Exception e){e.printStackTrace();}%><tr><td colspan="7"align="center"bgcolor="#ff8000"><input name="add"type="button"value="添加图书" onClick="location='BookAdd.jsp'"></td></tr></table></form></body></html>(3)删除操作:<%@page language="java"contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@page import="java.sql.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"><meta http-equiv="refresh"content="3;URL=bookList.jsp"><title>删除图书</title><body><%String strId = request.getParameter("id");Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection con = DriverManager.getConnection("jdbc:odbc:JDBC-ODBC","sa","sa");PreparedStatement ps = con.prepareStatement("delete from t_book where id=?");ps.setString(1,strId);ps.execute();con.close();%>正在删除图书,3秒后自动跳转......</body></html>(4)修改操作:bookEdit.jsp<%@page language="java"contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@page import="java.sql.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"><title>编辑图书信息</title><style type="text/css"><!--.STYLE1 {font-size: 36px;font-weight: bold;}--></style></head><body><%String strId = request.getParameter("id");//获取传过来的参数(网络上传输的只能是字符串)Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection con = DriverManager.getConnection("jdbc:odbc:JDBC-ODBC","sa","sa");PreparedStatement ps =con.prepareStatement("select * from t_book where id=?");ps.setString(1,strId);ResultSet rs=ps.executeQuery();if(rs.next()){String ID=rs.getString("id");%><form name="form1"method="post"action="bookSaveEdit.jsp"><input type="hidden"name="id"value="<%=ID%>"><div align="center"class="STYLE1">编辑图书信息</div><table width="300"height="120"border="1"align="center"><tr><td>编号:</td><td><input name="id"type="text"value="<%=ID%>"></td></tr><tr><td width="74">书名:</td><td width="210"><input type="text"name="name" value="<%=rs.getString("name") %>"></td></tr><tr><td width="74">作者:</td><td width="210"><input type="text"name="author" value="<%=rs.getString("author") %>"></td></tr><tr><td>出版社:</td><td><input type="text"name="publish" value="<%=rs.getString("publish") %>"></td></tr><tr><td>价格:</td><td><input type="text"name="price" value="<%=rs.getString("price") %>"></td></tr><tr><td colspan="2"align="center"><input type="submit"name="Submit"value="确定修改"><input type="reset"name="Submit2"value="取消"></td></tr></table></form><%}con.close();%></body></html>保存修改程序:SavaBookEdit.jsp<%@page language="java"contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@page import="java.sql.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"><title>保存编辑</title></head><body><%request.setCharacterEncoding("UTF-8");String name=request.getParameter("name");String author=request.getParameter("author");String pub=request.getParameter("publish");String price=request.getParameter("price");String id=request.getParameter("id");Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection con = DriverManager.getConnection("jdbc:odbc:JDBC-ODBC","sa","sa");PreparedStatement ps =con.prepareStatement("update t_book set name=?,author=?,publish=?,price=? where id=?");ps.setString(1,name);ps.setString(2,author);ps.setString(3,pub);ps.setString(4,price);ps.setString(5,id);ps.execute();con.close();response.sendRedirect("bookList.jsp");%></body></html>4.系统实现登录页面:图书预览页面:图书修改页面:图书查询页面:5.结束语从上面的演示中可以看出,此系统可以完成用户登录和图书管理两大功能。

相关主题