javaweb简单的图书管理系统Word格式.docx

上传人:b****1 文档编号:5830719 上传时间:2023-05-05 格式:DOCX 页数:19 大小:23.12KB
下载 相关 举报
javaweb简单的图书管理系统Word格式.docx_第1页
第1页 / 共19页
javaweb简单的图书管理系统Word格式.docx_第2页
第2页 / 共19页
javaweb简单的图书管理系统Word格式.docx_第3页
第3页 / 共19页
javaweb简单的图书管理系统Word格式.docx_第4页
第4页 / 共19页
javaweb简单的图书管理系统Word格式.docx_第5页
第5页 / 共19页
javaweb简单的图书管理系统Word格式.docx_第6页
第6页 / 共19页
javaweb简单的图书管理系统Word格式.docx_第7页
第7页 / 共19页
javaweb简单的图书管理系统Word格式.docx_第8页
第8页 / 共19页
javaweb简单的图书管理系统Word格式.docx_第9页
第9页 / 共19页
javaweb简单的图书管理系统Word格式.docx_第10页
第10页 / 共19页
javaweb简单的图书管理系统Word格式.docx_第11页
第11页 / 共19页
javaweb简单的图书管理系统Word格式.docx_第12页
第12页 / 共19页
javaweb简单的图书管理系统Word格式.docx_第13页
第13页 / 共19页
javaweb简单的图书管理系统Word格式.docx_第14页
第14页 / 共19页
javaweb简单的图书管理系统Word格式.docx_第15页
第15页 / 共19页
javaweb简单的图书管理系统Word格式.docx_第16页
第16页 / 共19页
javaweb简单的图书管理系统Word格式.docx_第17页
第17页 / 共19页
javaweb简单的图书管理系统Word格式.docx_第18页
第18页 / 共19页
javaweb简单的图书管理系统Word格式.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

javaweb简单的图书管理系统Word格式.docx

《javaweb简单的图书管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《javaweb简单的图书管理系统Word格式.docx(19页珍藏版)》请在冰点文库上搜索。

javaweb简单的图书管理系统Word格式.docx

要求学生根据需求描述独自完成需求分析,软件设计、程序模块设计以及程序的编写、调试和测试。

设计和程序完成后,要求根据指定的格式要求,独自完成设计报告的撰写。

三、实验基本情况

本实训要求根据下述需求陈述写出需求分析文本并进行软件开发,并列出源代码和运行结果。

四、需求分析

项目介绍

这是一个简单的图书管理系统,由一个管理员来实现对用户的删除,图书的增加,修改和图书的删除功能,用户注册登录后可以实现对图书的借阅和归还。

由于时间关系在设计项目时有很多不好的地方,未来得及修改,在管理员登录界面采用了图形验证码,由于是同样的技术,在用户登录界面就没有采用图形验证技术。

功能需求

1.用户注册

2.图书添加

3.图书修改

4.用户管理

5.图书借阅

6.归还图书

五、软件设计

ER图

程序流程

数据库设计

模块设计及运行结果

项目整体采用MVC模式,整体上运用jsp+javabean+servlet+jdbc+dao,每个jsp页面采用jQuery技术作为背景,实现简单的动态背景,部分页面运用EL、JSTL、js中的点击事件、Bootsrap、图形验证码、分页技术以及邮箱页面。

六、源代码

1.用户类User.Java

packagevo;

publicclassUser{

privateStringname,pwd;

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

this.name=name;

publicStringgetPwd(){

returnpwd;

publicvoidsetPwd(Stringpwd){

this.pwd=pwd;

2.图书类bookinfo.java

publicclassbookinfo

{

privateStringbno,bname,author,price,other;

publicStringgetBno(){

returnbno;

}

publicvoidsetBno(Stringbno){

this.bno=bno;

publicStringgetBname(){

returnbname;

publicvoidsetBname(Stringbname){

this.bname=bname;

publicStringgetAuthor(){

returnauthor;

publicvoidsetAuthor(Stringauthor){

this.author=author;

publicStringgetPrice(){

returnprice;

publicvoidsetPrice(Stringprice){

this.price=price;

publicStringgetOther(){

returnother;

publicvoidsetOther(Stringother){

this.other=other;

3.借书信息类lendbook.info

publicclasslendbook

privateStringusername,bno,bname,author,price,other;

publicStringgetUsername(){

returnusername;

publicvoidsetUsername(Stringusername){

this.username=username;

4.用户功能UserDao.java

packagedao;

importjava.util.List;

importjava.sql.*;

importjava.util.ArrayList;

importvo.bookinfo;

importvo.User;

importvo.lendbook;

importdbc.JdbcUtil;

publicclassUserDao

publicvoidadd(Useruser)throwsException{//添加用户

Connectionconn=null;

PreparedStatementps=null;

try

{

conn=JdbcUtil.getConnection();

Stringsql="

insertintouservalues(?

?

)"

;

ps=conn.prepareStatement(sql);

ps.setString(1,user.getName());

ps.setString(2,user.getPwd());

ps.executeUpdate();

}

finally

{

JdbcUtil.free(null,ps,conn);

publicvoidadd_book(bookinfobook)throwsException{//添加图书

insertintobook_infovalues(?

ps.setString(1,book.getBno());

ps.setString(2,book.getBname());

ps.setString(3,book.getAuthor());

ps.setString(4,book.getPrice());

ps.setString(5,book.getOther());

publicvoidlend_book(lendbookbook)throwsException{//借出图书

insertintolendbookvalues(?

ps.setString(1,book.getUsername());

ps.setInt(2,Integer.parseInt(book.getBno()));

ps.setString(3,book.getBname());

ps.setString(4,book.getAuthor());

ps.setString(5,book.getPrice());

ps.setString(6,book.getOther());

publicList<

User>

QueryAll()throwsException//列出全部用户

{

ResultSetrs=null;

List<

userList=newArrayList<

();

select*fromuser"

rs=ps.executeQuery();

while(rs.next()){

Useruser=newUser();

user.setName(rs.getString

(1));

user.setPwd(rs.getString

(2));

userList.add(user);

JdbcUtil.free(rs,ps,conn);

returnuserList;

publicvoiddelete(Stringbookno)throwsException//删除图书

try{

Stringsql="

deletefrombook_infowherebno=?

"

ps=conn.prepareStatement(sql);

ps.setString(1,bookno);

ps.executeUpdate();

}

finally{

JdbcUtil.free(null,ps,conn);

publicvoidreturnbook(Stringbno,Stringusername)throwsException//归还图书

deletefromlendbookwherebno=?

andusername=?

ps.setString(1,bno);

ps.setString(2,username);

publicvoiddelete_user(Stringusername)throwsException//删除用户

deletefromuserwherename=?

ps.setString(1,username);

publicintgetPageCount()throwsException{//分页

intrecordCount=0,t1=0,t2=0;

selectcount(*)frombook_info"

rs.next();

recordCount=rs.getInt

(1);

t1=recordCount%5;

t2=recordCount/5;

finally

returnt1==0?

t2:

t2+1;

bookinfo>

QueryAll_book(intpageNo)throwsException//列出全部图书

intpageSize=5;

intstartRecno=(pageNo-1)*pageSize;

bookList=newArrayList<

select*frombook_infoorderbybnolimit?

ps.setInt(1,startRecno);

ps.setInt(2,pageSize);

bookinfobook=newbookinfo();

book.setBno(rs.getString

(1));

book.setBname(rs.getString

(2));

book.setAuthor(rs.getString(3));

book.setPrice(rs.getString(4));

book.setOther(rs.getString(5));

bookList.add(book);

returnbookList;

lendbook>

QueryAll_lendbook(Stringusername)throwsException//列出已借图书

select*fromlendbookwhereusername=?

ps.setString(1,username);

lendbookbook=newlendbook();

book.setUsername(rs.getString

(1));

book.setBno(rs.getString

(2));

book.setBname(rs.getString(3));

book.setAuthor(rs.getString(4));

book.setPrice(rs.getString(5));

book.setOther(rs.getString(6));

publicvoidmodify_book(bookinfobook)throwsException{//修改图书

updatebook_infosetbname=?

author=?

price=?

other=?

wherebno=?

ps.setString(1,book.getBname());

ps.setString(2,book.getAuthor());

ps.setString(3,book.getPrice());

ps.setString(4,book.getOther());

ps.setString(5,book.getBno());

}

5.获取表格值代码:

functiongetTableContent(node){

vartr1=node.parentNode.parentNode;

varname=tr1.cells[0].innerText;

window.location.href="

<

%=path%>

/delete_user?

name="

+name;

alert(name);

7.背景jQuery代码

由于代码过长,不展示;

七、运行结果

1.管理员登录页面:

管理员登录界面采用简单的CSS、jQuery、以及图形验证码,当图形验证码输入不正确以及账号密码输入不正确会出现相相应提示,同时点击相信的输入框,提示输入对应类型的背景字体会消失,当鼠标点击其他地方时会相应出现,采用的是placeholder属性,我们平时单纯的html的输入框以及提交的按钮,让人感觉不是很舒适,采用简单的CSS将他们的边框去除,然后加上相应的边框。

2.登录主界面:

导航栏感谢bootstrap开源,运用了始终悬浮在顶部的导航栏,奈何页面长度有限不能向下滚动,无法看出这一功能,页面内容由于思维过于局限,暂时没有想出用什么内容来填充,只想到类似于积分的东西,这一内容在以后会作出改进,目前只有一个大概的模板,同时在改变页面的分辨率时导航栏中的功能选项会变成一个按钮,用一个<

nva>

便签来装载,本页也有一个亮点便是响应式,在改变分辨率时板块并不会发生错乱的现象,运用栅格系统思想,在第二张图张可以看到效果,由于调各种分辨率国语繁琐,所以这一技术只在两个页面运用到,以后有时间会加以改善。

3.管理用户页面:

点击管理用户的小便签会出现用户的列表,点击删除用户可以将用户从数据库中删除,同时页面中的几个小符号也是运用bootstrap中的组件,给人以更直观清楚的描述功能,在本页面我并没有采用分页技术,但是在后面几个页面中有采用分页技术,在做页面的时候并没有考虑到有很多的用户,只是用几个来验证,所以就没有用分页技术,在这个点击就删除的技术上一开始遇到了难题,并不知道怎么样去些控制的后台,后来在页面中运用了js的技术,可以利用表格的结点来获取每个表格单元格的内容,再将按

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2