JAVA课程设计网上图书订购系统Word文件下载.docx

上传人:b****5 文档编号:20614182 上传时间:2023-01-24 格式:DOCX 页数:24 大小:708.08KB
下载 相关 举报
JAVA课程设计网上图书订购系统Word文件下载.docx_第1页
第1页 / 共24页
JAVA课程设计网上图书订购系统Word文件下载.docx_第2页
第2页 / 共24页
JAVA课程设计网上图书订购系统Word文件下载.docx_第3页
第3页 / 共24页
JAVA课程设计网上图书订购系统Word文件下载.docx_第4页
第4页 / 共24页
JAVA课程设计网上图书订购系统Word文件下载.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

JAVA课程设计网上图书订购系统Word文件下载.docx

《JAVA课程设计网上图书订购系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《JAVA课程设计网上图书订购系统Word文件下载.docx(24页珍藏版)》请在冰豆网上搜索。

JAVA课程设计网上图书订购系统Word文件下载.docx

pricedecimal(8,2)notnull,#价格

authorvarchar(40)notnull,#作者

imagevarchar(255)notnull,#图片的位置和图片的名称

descriptionvarchar(255),#描述

category_idvarchar(40),#类别id

constraintcategory_id_FKforeignkey(category_id)referencescategory(id)

(3)创建用户表

CREATETABLEUSER

idVARCHAR(40)PRIMARYKEY,#用户编号

NAMEVARCHAR(40)NOTNULLUNIQUE,#姓名

PASSWORDVARCHAR(40)NOTNULL,#密码

phoneVARCHAR(40)NOTNULL,#电话

cellphoneVARCHAR(40)NOTNULL,#手机

addressVARCHAR(255)NOTNULL,#地址

emailVARCHAR(100)NOTNULL#email

(4)创建订单表

CREATETABLEorders

idVARCHAR(40)PRIMARYKEY,#订单编号

ordertimeDATETIMENOTNULL,#订单日期

stateBOOLEANNOTNULL,#发货和未发货0|1

priceDOUBLENOTNULL,#订单中所有商品的总价格

user_idVARCHAR(40),#用户id

CONSTRAINTuser_id_FKFOREIGNKEY(user_id)REFERENCESUSER(id)

(5)创建订单明细表

CREATETABLEorderitem

idVARCHAR(40)PRIMARYKEY,#订单条目编号

book_idVARCHAR(40),#图书id

quantityINTNOTNULL,#数量

priceDOUBLENOTNULL,#每种商品的总价格

order_idVARCHAR(40),#订单编号

CONSTRAINTbook_id_FKFOREIGNKEY(book_id)REFERENCESbook(id),

CONSTRAINTorder_id_FKFOREIGNKEY(order_id)REFERENCESorders(id)

2.3关于数据的处理

jap页面上的所有输入数据都会被提交到Servlet中,在Servlet中通过Servlet的内置对象request的getParameter方法获取,然后封装到JavaBean中,通过服务层对象调用服务层方法,将request对象和JavaBean封装的对象作为参数传递到服务层,在服务层在调用DAO层对象,并将数据库的链接connection和JavaBean封装的对象作为参数传递到DAO层,在DAO层调用QueryRunner对象的各种方法,将JavaBean封装的数据存放到数据库中,这就完成了数据的存储功能!

3.详细设计与实现

3.1系统包含的类及类之间的关系

本系统共包括10个主要的java源文件。

类关系如图3-1所示。

图3-1类之间的关系

3.2java源文件及其功能

1.User.java

封装用户信息的javaBean

2.Book.java

封装商品信息的javaBean

3.Order.java

封装订单信息的javaBean

4.BookCart.java

封装购物车的javaBean

5.Catrgory.java

封装商品种类的javaBean

6.OrderItem.java

7.AppUserServlet.java

该文件实现注册用户及用户登录

8.AppBookServlet.java

该文件实现分类显示商品及商品分页

9.AppBookCartServlet.java

该文件实现商品购买,查看购物车

10.AppOrderServlet.java

该文件实现保存订单,查看订单及查看订单明细

3.3类的功能设计

3.3.1主类用户类

(1)成员变量见表3-1

表3-1主要成员变量(属性)

成员变量描述

变量类型

名称

name

String

用户名

Password

密码

Phone

座机

cellphone

手机

Address

地址

email

E-mail

(2)方法见表3-2

表3-2主要方法

方法描述

功能

备注

Save

注册用户

实现用户注册功能

Login

用户登录

实现用户登录功能

(3)源代码见文件AppUserServlet.java

3.3.2商品显示及分页类

(1)成员变量见表3-3

表3-3主要成员变量

Path

跳转路径

CurPage

Integer

当前页

maxSize

页面商品显示数目

Category_id

商品类别

(2)方法见表3-4

表3-4主要方法

方法名

List

实现商品的显示及分页

-

3.3.3商品购买,查看购物车类

(1)成员变量见表3-5

表3-5主要成员变量

bookService

BookService

业务层对象

Book

图书对象

(2)方法见表3-6

表3-6主要方法

AddBook2Cart

添加图书到购物车

listBookCart

查询购物车上平

3.3.4保存订单,查看订单及查看订单明细类

(1)成员变量见表3-7

表3-7主要成员变量

path

跳转路经

session

HttpSession

Servlet通信对象

user

User

用户

orderService

OrderService

订单实现类对象

(2)方法见表3-8

表3-8主要方法

saveOrder

添加订单

listUserOrder

查询用户订单

4.测试

4.1系统主界面

系统主界面间图4-1

图4-1系统主界面

4.2用户注册页面

用户注册界面如图4-2

图4-2用户注册界面

4.3测试

(1)用户注册,如果用户不输入任何内容,则会提示错误信息不能为空。

如图4-3

图4-3用户注册测试界面

(2)用户注册,如果输入的内容不符合要求的时候,会提示相应的错误信息。

如下图4-4

图4-4用户注册测试界面

(3)用户注册,如果输入的内容全部符合系统要求的信息时,错误信息就会消失。

如图4-5

图4-5用户注册测试界面

(4)如果用户注册成功会就会提示注册成功,并且可以使用此用户名和账号登陆购物,如图4-6

图4-6用户注册测试界面

(5)如果登录系统的用户名和密码出现错误的话就会出现错误信息,如图4-7

图4-7用户登陆测试界面

(6)如果用户名密码输入正确后,就会显示当前用户名字,此时就可以通过购物,如图4-8

图4-8用户登陆测试界面

(7)当用户点击购买商品的时候,系统会提示购买的商品已经加入到购物车中,如图4-9

图4-9用户购物测试界面

(8)返回到主页面点击查看购物车,就可以看到购买的商品信息,如图4-10

图4-10用户购物测试界面

(9)如果用户确认购买的商品后统一购买商品,就可以点击生成订单提交购物信息,如图4-11

图4-11用户下订单测试界面

(10)返回主页面查看用户的订单,就可以查看到此用户的所有订单,如图4-12

图4-12用户查看订单测试界面

(11)在订单信息中点击查看明细,可以查询到此用户的这个订单的信息和此用户的信息,如图4-13

图4-13用户查看订单详情测试界面

(12)用户还可以通过点击主页面中的列表,查看对应系列的所有商品,还可以点击页面下方的首页,上一页,下一页,尾页查看商品,如图4-14

图4-14用户查看商品信息测试界面

参考文献

[1]耿祥义,张跃平.Java2实用教程(第三版)[M].北京:

清华大学出版社,2006.8

[2]张孝祥.Java就业培训教程[M].北京:

清华大学出版社,2003

[3](美)MartyHall,LarryBrown.Servlet与JSP核心编程.第二版.赵学良译.北京:

清华大学出版社,2004.06

[4]程伟,汪孝宜.开发者突击:

JSP网络开发经典模块实现全集.北京:

电子工业出版社,2008

附录1软件源程序

注:

这里只是附录了四个主要类的Servlet代码,可执行的源代码在BookStore717工程里面,具体的代码部署及执行方式如下:

首先需要安装mysql数据库和myeclipse,安装完毕后,在mysql中新建一个bookstore数据库,再将到工程下找到此BookStore717\WebRoot\temp\201109231316765574341.sql文件,将此文件中的本程序需要的数据导入到mysql数据库中的bookstore数据库中,将BookStore717文件夹导入到myeclipse中,修改src目录下的c3p0数据库连接池配置文件c3p0-config.xml文件里面的数据库连接信息,部署后启动tomcat服务器,在网页中输入http:

//localhost:

8080/BookStore717/index.jsp即可看到主页面!

1).AppBookCartServlet.java实现代码

publicclassAppBookCartServletextendsBaseServlet{

/*

*增加图书到购物车

*/

publicvoidaddBook2Cart(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

Stringpath="

/message.jsp"

;

try{

//获取图书id

Stringid=request.getParameter("

id"

//通过图书id查询图书信息

BookServicebookService=newBookService();

Bookbook=bookService.findBookById(id);

if(book!

=null){

//实例化BookItem对象

BookItembookItem=newBookItem();

//将图书添加到BookItem中

bookItem.setBook(book);

//获取购物车,并将bookItem加入购物车

BookCartbookCart=SessionUtils.getBookCartFromSession(request,true);

bookCart.addbookItem2BookCart(bookItem);

request.setAttribute("

message"

"

你购买的书籍["

+book.getName()+"

]已经加入到购物车中"

}

path="

}catch(Exceptione){

e.printStackTrace();

request.setAttribute("

e.getMessage());

}

request.getRequestDispatcher(path).forward(request,response);

}

*查看購物車

publicvoidlistBookCart(HttpServletRequestrequest,HttpServletResponseresponse)

/app/listcart.jsp"

//获取購物車

BookCartbookCart=SessionUtils.getBookCartFromSession(request,false);

if(bookCart==null){

path="

你要查询的购物车不存在或者你还没有购买商品"

request.getRequestDispatcher(path).forward(request,response);

return;

//查询购物车

bookCart"

bookCart);

}

2).AppBookServlet.java实现代码

publicclassAppBookServletextendsBaseServlet{

publicvoidlist(HttpServletRequestrequest,HttpServletResponseresponse)

/app/index.jsp"

IntegercurPage=1;

IntegermaxSize=2;

Stringcategory_id=request.getParameter("

category_id"

//将当前页放到request域中

request.setAttribute("

category_id);

StringscurPage=request.getParameter("

curPage"

if(StringUtils.isNotBlank(scurPage)){

curPage=Integer.parseInt(scurPage.trim());

try{

//获取所有图书类别信息

CategoryServicecategoryService=newCategoryService();

List<

Category>

categorys=categoryService.findAllCategory();

categorys"

categorys);

//计算开始位置的索引

IntegerbeginIndex=(curPage-1)*maxSize;

//获取所有图书信息

QueryResult<

Book>

qr=bookService.findPageBooksByCondition(beginIndex,maxSize,category_id);

if(qr!

books"

qr.getList());

//计算分页功能

PageBeanpageBean=newPageBean();

pageBean.init(curPage,maxSize,qr.getCount());

pageBean"

pageBean);

}catch(Exceptione){

3).AppOrderServlet.java实现代码

publicclassAppOrderServletextendsBaseServlet{

publicvoidsaveOrder(HttpServletRequestrequest,HttpServletResponseresponse)

HttpSessionsession=request.getSession();

Useruser=(User)session.getAttribute("

user"

if(user==null){

您还没有登录,不能生成订单"

request.getRequestDispatcher(path).forward(request,response);

return;

try{

//获取购物车

//调用购物车业务层方法,生成订单

OrderServiceorderService=newOrderService();

orderService.saveOrder(bookCart,user);

生成订单成功"

*查看自己的订单

publicvoidlistUserOrder(HttpServletRequestrequest,HttpServletResponseresponse)

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1