期末,数据库老师让做一个用数据库结合任何一门语言做个小作品。刚好最近在学一点html/css,又会看了一点点jsp的视频,做出了个小东西,在此记录,共同进步。用到的软件:sql server,servlet,myEclipse
具体的要求如下:
①读者基本信息的输入,包括借书证编号、读者姓名、读者性别,读者年级,系别等。
②读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别,读者已借出的图书相关信息,读者可借出图书数本(假设读者借书数目的上限为5)等。
③书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。
④书籍类别信息的查询、修改,包括类别编号、类别名称。
⑤书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称,剩余可借出的书籍数目。
⑥书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称,剩余可借出的书籍数目等。
⑦借书信息的输入,包括读者借书证编号、书籍编号。
⑧借书信息的查询、修改,包括借书证编号、读者姓名、书籍编号、书籍名称等。
⑨还书信息的输入,包括借书证编号、书籍编号。
⑩还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称等。
先上一些截好的图片
登录(注册)的界面
登录进入的首页,红色框框是实现利用session记住用户名
查询书籍的界面
查询结果示例:
查询借书和还书的界面也差不多,不在赘述。
借书和还书时,数据库中相应书籍的数量会根据借书和还书的数量更新。
若是查找不到信息,会提示查找不到,然后5秒后跳转到相关页面
添加书籍的页面,添加书籍类别同理
查看书库,其实也就是执行查询书籍语句
点击进入可查看图书详情,红色框框会根据图书的类型相应的变化
点击修改可修改图书信息并更新。
点击借阅时,会相应的把借书证号和书籍编号写上,数量默认为1,若是未登录,则在点击借阅时,会提示先登录,并跳转到登录界面。
一、新建数据库
use master
go
create database stu_library
on
(
name = stu_library_data,
filename = 'F:\SQL Server workplace\stu_library.mdf',
size = 10,
maxsize = 50,
filegrowth = 5
)
log on
(
name = 'stu_library_log',
filename = 'F:\SQL Server workplace\stu_library.ldf',
size = 5mb,
maxsize= 25mb,
filegrowth = 5mb
)
go
二、设计表
create table Students
(
Scard_no varchar(10) primary key,
SPwd varchar(20) not null,
Sname varchar(20) not null,
Ssex varchar(2),
grade varchar(5),
)
create table Book_type
(
book_type_no varchar(5) primary key,
book_type_name varchar(20)
)
create table Book
(
book_no varchar(5) primary key,
book_name varchar(20) not null,
book_author varchar(20),
book_press varchar(20),
book_rest_num int,
book_type_no varchar(5),
constraint Book_Booktype foreign key(book_type_no) references Book_type
)
create table borrowed_book
(
book_no varchar(5),
Scard_no varchar(10),
borrowed_book_num int check(borrowed_book_num>=0 and borrowed_book_num<=10),
borrowed_book_time datetime,
constraint borrowed_book_Book foreign key(book_no) references Book,
constraint borrowed_book_Students foreign key(Scard_no) references Students
)
create table return_book
(
book_no varchar(5),
Scard_no varchar(10),
return_book_num varchar(5),
return_book_time datetime,
constraint return_book_Book foreign key(book_no) references Book,
constraint return_book_Students foreign key(Scard_no) references Students
)
做好数据库的准备就可以开始进入myEclipse了。
先看下项目目录:
还有一大堆jsp文件,css文件和书籍的图片….
四、分析
在doLogin.java中:
//获取用户提交的表单中的数据
String Scard_no = request.getParameter("Scard_no");
String Spwd = request.getParameter("Spwd");
DBUtil db = new DBUtil();
//在数据库中查找
String sql ="select * from Students where Scard_no='"+Scard_no+"' and Spwd ='"+Spwd+"'";
ResultSet rs = db.query(sql);
try {
if(rs.next()){
//将借书证保存在session属性中,以便后面获取借书证
request.getSession().setAttribute("Scard_no", Scard_no);
request.getRequestDispatcher("stu_library.jsp").forward(request, response);
}else{
response.sendRedirect("login_failed.jsp");
}
} catch (SQLException e) {
e.printStackTrace();
}
response.sendRedirect()和request.getRequestDispatcher()的区别:
http://www.cnblogs.com/phpzxh/archive/2010/02/01/1661137.html
具体的看代码,已上传资源,下载地址是:http://download.csdn.net/detail/gxiaoqin/9700440