JSP网上书店系统实验报告Word格式文档下载.doc
《JSP网上书店系统实验报告Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《JSP网上书店系统实验报告Word格式文档下载.doc(12页珍藏版)》请在冰豆网上搜索。
(4)具有查询功能
后端主要实现:
(1)图书的修改,删除,添加
(2)图书分类
(3)用户权限分配
2数据库表(数据字典),带表头
(1)用户表user_info
数据项
数据类型
数据长度
备注
id
Int
11
用户编号
username
Varchar
14
用户名
password
varchar
22
密码
super_id
int
是否超级用户,1为是
(2)图书表book_info
书籍编号
name
80
书籍名称
author
20
作者
price
4
单价
photo
40
存放封面地址
Type_id
区别图书类型
describe
250
图书描述
(3)购物车表shop_bus
物品编号
book_name
书籍名
5
allprice
6
总价
(4)订单表list_info
订单编号
all_price
all_books
500
所有书籍名称
user_id
订单所属ID
3详细实现
1运行环境:
MyEclipse,TomCat6.0
2数据库连接:
mySQL
3主要页面,及页面功能描述
登录页面:
登录页面含有用户的登录功能,如果用户未注册过,还可以通过注册功能注册为会员,然后再登录该系统进入首页,同样,为了方便用户重新输入用户名与密码,还设置了用户名与密码重置的功能。
如图1:
图1登录界面
主要的登录代码如下:
protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)
throwsServletException,IOException{
HttpSessionsession=req.getSession();
UserInfouser=newUserInfo();
user.setUsername(req.getParameter("
username"
));
user.setPassword(req.getParameter("
password"
UserInfoDaouserInfoDao=newUserInfoDaoImp();
BookInfoDaobookInfoDao=newBookInfoDaoImp();
if(userInfoDao.login(user)){
Pagepage=newPage();
page.setPageSize(12);
page.setNowPage
(1);
if(bookInfoDao.allCount()%12==0){
page.setAllPage(bookInfoDao.allCount()/12);
}else{
page.setAllPage(bookInfoDao.allCount()/12+1);
}
List<
BookInfo>
list=newArrayList<
();
list=bookInfoDao.getAllBooks(page);
page.goTo();
ShopBusDaoshopBusDao=newShopBusDaoImp();
shopBusDao.delAll();
user=userInfoDao.findByUsername(user);
session.setAttribute("
page"
page);
bookList"
list);
user"
user);
resp.sendRedirect("
main.jsp"
);
}else{
req.setAttribute("
error"
"
用户名或密码错误!
"
ServletContextsc=getServletContext();
RequestDispatcherrd=null;
rd=sc.getRequestDispatcher("
/index.jsp"
rd.forward(req,resp);
}
}
注册页面:
注册页面可以让需要注册的玩家填写注册信息,同意具有重置功能,如图2:
图2注册页面
注册的的代码如下:
if(userInfoDao.reg(user)){
userInfoDao.addUserInfo(user);
success.jsp"
用户名已存在!
ServletContextsc=getServletContext();
RequestDispatcherrd=null;
rd=sc.getRequestDispatcher("
/reg.jsp"
查询功能:
查询的功能主要是通过选择查询条件书名或者作者,然后按照输入的关键字进行查询如图3和图4:
图3查询功能图4查询所得图书列表
主要代码如下:
BookInfoDaobookInfoDao=newBookInfoDaoImp();
List<
list=bookInfoDao.getBooksByKey(req.getParameter("
keyWord"
HttpSessionsession=req.getSession();
session.setAttribute("
listBookByKey"
ServletContextsc=getServletContext();
RequestDispatcherrd=null;
rd=sc.getRequestDispatcher("
/lookBooks.jsp"
rd.forward(req,resp);
通过关键字查找数据库的代码如下:
publicList<
getBooksByKey(Stringkey){
con=DBCon.GetConnectionMysql();
Stringsql="
SELECT*FROMbook_infoWHEREnameLIKE'
%"
+key+"
%'
;
PreparedStatementstmt=null;
ResultSetrs=null;
try{
stmt=con.prepareStatement(sql);
// stmt.setString(1,key);
rs=stmt.executeQuery();
while(rs.next()){
BookInfobk=newBookInfo();
bk.setId(rs.getInt
(1));
bk.setName(rs.getString
(2));
bk.setAuthor(rs.getString(3));
bk.setPrice(rs.getInt(4));
bk.setPhoto(rs.getString(5));
bk.setTypeId(rs.getInt(6));
bk.setDescribe(rs.getString(7));
list.add(bk);
CloseSql.CloseDB(rs,stmt,con);
}catch(SQLExceptione){
e.printStackTrace();
returnlist;
购物车功能:
购物车功能可以让会员把自己选择的书籍放入购物车,方便会员一次性下单也方便会员查看以选择的书籍,同时帮会员计算所需支付的总价,如图54:
图5购物车
显示以已放入购物车中的主要代码如下:
publicShopBusgetLast(){
con=DBCon.GetConnectionMysql();
ResultSetrs=null;
PreparedStatementstmt=null;
Stringsql="
select*fromshop_bus"
ShopBusshopBus=newShopBus();
stmt=con.prepareStatement(sql);