JSP网上书店系统实验报告Word文档下载推荐.doc

上传人:wj 文档编号:1454186 上传时间:2023-04-30 格式:DOC 页数:12 大小:246KB
下载 相关 举报
JSP网上书店系统实验报告Word文档下载推荐.doc_第1页
第1页 / 共12页
JSP网上书店系统实验报告Word文档下载推荐.doc_第2页
第2页 / 共12页
JSP网上书店系统实验报告Word文档下载推荐.doc_第3页
第3页 / 共12页
JSP网上书店系统实验报告Word文档下载推荐.doc_第4页
第4页 / 共12页
JSP网上书店系统实验报告Word文档下载推荐.doc_第5页
第5页 / 共12页
JSP网上书店系统实验报告Word文档下载推荐.doc_第6页
第6页 / 共12页
JSP网上书店系统实验报告Word文档下载推荐.doc_第7页
第7页 / 共12页
JSP网上书店系统实验报告Word文档下载推荐.doc_第8页
第8页 / 共12页
JSP网上书店系统实验报告Word文档下载推荐.doc_第9页
第9页 / 共12页
JSP网上书店系统实验报告Word文档下载推荐.doc_第10页
第10页 / 共12页
JSP网上书店系统实验报告Word文档下载推荐.doc_第11页
第11页 / 共12页
JSP网上书店系统实验报告Word文档下载推荐.doc_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

JSP网上书店系统实验报告Word文档下载推荐.doc

《JSP网上书店系统实验报告Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《JSP网上书店系统实验报告Word文档下载推荐.doc(12页珍藏版)》请在冰点文库上搜索。

JSP网上书店系统实验报告Word文档下载推荐.doc

数据类型

数据长度

备注

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);

rs=stmt.executeQuery();

while(rs.next()){

shopBus.setId(rs.getInt

(1));

shopBus.setBookName(rs.getString

(2));

shopBus.setPrice(rs.getInt(3));

shopBus.setAllPrice(rs.getInt(4));

returnshopBus;

用于存放当前所购物车中的书籍信息,对数据库表shop_bus进行插入书籍信息的代码如下:

publicbooleanadd(ShopBusshopBus){

booleanflag=false;

insertintoshop_bus(book_name,price,allPrice)values(?

?

)"

stmt.setString(1,shopBus.getBookName());

stmt.setInt(2,shopBus.getPrice());

stmt.setInt(3,this.getLast().getAllPrice()+shopBus.getPrice());

if(stmt.executeUpdate()==1){

flag=true;

CloseSql.CloseDB(stmt,con);

returnflag;

查看订单列表:

查看订单列表便于会员查看自己以往所过买的书籍信息,同时该列表具有翻页功能使列表占有平面空间不大,如图6:

图6订单列表

当购物车点击生成订单按钮时就已经完成对订单列表的信息增加,主要代码如下:

publicbooleanadd(ListInfolistInfo){

insertintolist_info(all_price,all_books,user_id)values(?

stmt.setInt(1,listInfo.getAllPrice());

stmt.setString(2,listInfo.getAllBooks());

stmt.setInt(3,listInfo.getUserId());

if(stmt.executeUpdate()==1){

}catch(Exceptione){

分页功能及显示列表的代码如下:

ListInfo>

getAll(intnowPage,intid){

Pagepage=newPage();

page.setNowPage(nowPage);

page.setPageSize(5);

if(this.allCount(id)%5==0){

page.setAllPage(this.allCount(id)/5);

page.setAllPage(this.allCount(id)/5+1);

page.goTo();

list=newArrayList<

if(page.getNowPage()<

=page.getAllPage()){//假如存在当前页

select*fromlist_infowhereuser_id=?

limit?

stmt.setInt(2,(page.getNowPage()-1)*page.getPageSize());

stmt.setInt(3,page.getNowPage()*page.getPageSize());

stmt.setInt(1,id);

ListInfolistInfo=newListInfo();

listInfo.setId(rs.getInt

(1));

listInfo.setAllPrice(rs.getInt

(2));

listInfo.setAllBooks(rs.getString(3));

listInfo.setUserId(rs.getInt(4));

list.add(listInfo);

}

注销功能:

方便用户使用完毕,用于退出网页,同时回到登录页面,注销前后如图7和图8:

图7注销前图8注销后

注销的主要代码如下:

session.removeAttribute("

req.setAttribute("

注销成功!

图书信息列表:

方便会员查看图书信息,便于选择,和通过点击购买按钮放入购物车,同样为了节省版面具有分页功能,如图9:

图9图书信息列表

显示图书信息的主要代码如下:

publicintallCount(){

intnum=0;

SELECTcount(*)FROMbook_info"

num=rs.getInt

(1);

returnnum;

分页功能代码如下:

getAllBooks(Pagepage){

SELECT*FROMbook_infolimit?

stmt.setInt(1,(page.getNowPage()-1)*page.getPageSize());

stmt.setInt(2,page.getNowPage()*page.getPageSize());

4总结

通过这次实验,加深了对Ajax+JSP+JavaBean的理解与应用,也把一学期所学的知识都综合应用到一起,并解决了学习中存在的很多疑惑与难点,对实验中的Ajax和JavaBean的应用更熟练更透彻。

同样在实验中也发现了自身的许多不足与缺陷相信在接下来的学习中会努力的去解决。

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

当前位置:首页 > PPT模板 > 商务科技

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

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