3-6-3显示购物车信息bookShopCart.jsp页面详细功能及描述
? 获取该用户购物车中信息的集合 ? 提交更新购物车请求的表单
? 循环显示购物车中的每一条购物记录信息 ? 设置购买数量的文本框 ? 显示图书销售价格 ? 显示图书总价
? 从购物车中移除购买记录信息 ? 更新订单按钮
? 提交继续购书请求的超链接 ? 提交清空购物车请求的超链接 ? 提交结算付款请求的超链接
本页面是在用户选择购买某种图书商品后,进入的页面。在该页面中将显示该用户购物车中现有的所有购买需求记录。同时提供更新购物车的操作界面,例如,可以输入购买数量或者选择删除购买记录。单击“更新订单”按钮后,将提交“updateShopCart.do”请求,进行更新购物车信息的处理。此外,也可以单击“继续购书”按钮,提交“bookSearch.do”请求返回网上书店主页面继续购书,或者单击“清空购物车”按钮提交“clearShopCart.do”请求。同时,如果用户确认去收银台,则可以单击“结算付款”按钮跳转到“userLogin.jsp”页面进行用户登录。
3-6-4网上书店客户登录userLogin.jsp页面详细功能及描述
? 提交用户登录请求,同时提交登录用户信息的表单 ? 提交登录用户用户名及密码的表单元素 ? 登录按钮
? 提交新用户注册请求的超链接
本页面是客户在购物车页面单击“结算付款”按钮后跳转过来的页面,在该页面中,用户在表单中输入用户名及密码,单击“用户登录”按钮后,将提交“login.do”请求,以便于进行后续获取用户相关信息的处理,对于没有用户身份的新客户,可以在本页面中单击“新用户注册”按钮,跳转到“userRegister.jsp”页面进行用户注册。
3-6-5 网上书店客户注册userRegister.jsp页面详细功能及描述
? 提交新用户注册请求,同时提交新用户注册信息的表单
? 提交注册用户姓名、地址、电子邮件地址、电话、用户名、密码以及确认密码
的表单元素 ? 注册按钮
在本页面中注册用户可以在表单中输入对应的注册信息,在单击“注册”按钮后,将提交“regist.do”请求,同时提交新用户的相关注册信息,以便于进行后续新用户注册的处理。
16
3-6-6 选择送货方式及付款方式orderAddress.jsp页面详细功能及描述
? 获取客户信息
? 提交选择送货方式及付款方式的表单
? 显示客户信息、姓名、地址、电话、送货方式、付款方式
本页面是在用户登录通过后,跳转到的页面,在该页面中首先获取对应用户的客户资料,同时提供送货方式以及付款方式的选择,在用户单击“确认”按钮后,将提交“addrConfirm.do”请求,生成生续完整的订单信息。
3-6-7 确认订单信息orderConfirm.jsp页面详细功能及描述
? 获取购物车信息集合 ? 获取订单信息、客户信息 ? 显示客户姓名、地址、电话 ? 显示购物车中的信息
? 显示所购图书书名、数量、总价 ? 显示整张订单总价
? 显示订单信息中的送货方式信息 ? 显示付款方式信息 ? 显示订单编号
? 提交继续购书的请求
? 提交查看该用户所有订单的请求
本页面中将全面显示该客户本次购物生成的详细订单信息,同时如果单击“继续购书”按钮将提交“bookSearch.do”请求返回网上书店主页面,如果单击“查看订单”按钮将提交“orderHistory.do”,跳转到“orderHistory.jsp”页面。
3-6-8 显示客户所有订单信息orderHistory.jsp页面详细功能及描述
? 获取该用户所有历史订单信息 ? 显示订单信息信息列表
? 显示订单编号、时间、总价 ? 提交取消订单请求的超链接 ? 提交返回购书请求的超链接
本页面将显示与当前用户相关的所有订单信息。同时用户可以单击“取消此单”超链接提交“delOrder.do?orderId=<%=order.getId()%>”请求删除该订单信息,此外也可以单击“返回购书”按钮提交“bookSearch.do”请求跳转到网上书店主页面。
17
3-7 业务逻辑层各bean功能
在本系统的业务逻辑层中分别完成了对图书信息、图书分类信息、购物车信息、订单信息以及客户信息等类型对象的保存和处理。所有文件包含在WEB-INF\\classes目录中
3-7-1 封装了数据库相关操作的bean(DB.java) 采用了Struts架构下提供的数据库连接池建立与数据库的连接,在该bean中通过构造方法建立与数据库的连接,并提供了相应的方法完成数据库中的查询、更新等操作,同时也提供了关闭数据库连接的方法,以便于及时释放资源。
3-7-2 封装了图书住处处理的bean(Book.java)
除声明了与图书基本数据相关的基本属性和方法之外,还提供了图书信息的查询显示处理相关的几个方法。其中在调用查询满足条件的图书信息方法时,需要提供查询的依据,例如,分类、按作者还是按书名,对应关键字等。
3-7-3 封装了图书分类信息处理的bean(BookCat.java)
除了声明了与图书分类数据相关的基本属性和方法之外,还提供了与图书分类信息查询及显示处理相关的几个方法。
3-7-4 封装了图书查询及显示条件的bean(SearchStatus.java)
主要封装了设置图书搜索查询条件相关的属性和方法,该程序中的方法将在搜索图书信息的程序中被调用。
3-7-5 封装了购物车信息处理的bean(ShopCart.java)
为了能够简化类的定义,考虑到购物车中所需要处理的图书基本信息与图书类型对象中封装的信息相同,只是需要再补充上购买数量即可,因此在定义该类时继承了图书信息类。
3-7-6 封装了订单住处处理的bean(Order. java)
除声明了与订单中所需要处理的数据相关的基本属性和方法之外,还提供了与订单查询、插入及删除处理相关的几个方法。此外,也提供了计算该订单所涉及总金额的方法。
3-7-7 封装了客记信息处理的bean(User.java)
除声明了与用户数据相关的基本属性和方法之外,还提供了与确认用户身份、获取用户相关信息、插入新用户信息处理相关的几个方法。
3-7-8 常量文件(Constants.java)
18
3-8 控制处理层
下表是网上书店系统中的Action映射表。该映射决定了 Action与其他Web组件之间的关联关系。作为前后台之间桥梁,本表中指明了每个Action的入口(即调用Action的组件)及出口(即请求转发的目标组件),以及传递Action的ActionForm。 Action BookSearchAction BookDetailAction PageCtrlAction LoginAction RegistAction BookBuyAction ClearShopCartAction AddrConfirmAction OrderHistoryAction OrderDelAction 入口 Index.jsp BookMain.jsp BookMain.jsp UserLogin.jsp UserRegister.jsp BookShow.jsp BookShopCart.jsp OrderAddress.jsp OrderConfirm.jsp OrderHistory.jsp ActionForm BookSearchForm BookIdForm PageIdForm LoginForm UserForm BookIdForm BookShopCartForm DeliveryForm OrderIdForm 出口 BookMain.jsp BookShow.jsp BookMain.jsp OrderAddress.jsp UserLogin.jsp BookShopCart.jsp BookShopCart.jsp BookShopCart.jsp OrderConfim.jsp OrderHistory.jsp OrderHistory.jsp UpdateShopCartAction BookShopCart.jsp 1.BookSearchAction.java 该程序负责处理查询显示满足条件图书书目信息时提交的“bookSearch.do”请求
2.PageCtrlAction.java
该程序负责处理分页显示图书书目信息时进行页面跳转时提交的“bookPage.do”请求。
3.BookDetailAction.Java
该程序负责处理显示指定图书编号的对应图书详细信息时提交的“bookDetail.do”请求。
4.BookBuyAction.java
该程序负责处理购买图书时提交的“bookBuy.do”请求。
5.UpdateShopCartAction.java 该程序负责处理修改购物数量,或者删除购物记录时提交的“updateShopCart.do”请求。
6.ClearShopCartAction.java
该程序负责处理从购物车页面提交的清空购物车时的“clearShopCart.do”请求。
7.LoginAction.java
该程序负责处理从用户登录页面提交的“login.do”请求。
8.RegistAction.java
该程序负责处理从新用户注册页面提交的“regist.do”请求。
19
9.AddrConfirmAction.java
该程序负责处理从订单处理页面提交的选择送货方式及付款方式的“addrConfirm.do”请求。
10.OrderHistoryAction.java
该程序负责处理从确认订单页面提交查看所有订单信息的“orderHistory.do”请求。
11.OrderDelAction.java
该程序负责处理从订单信息显示页面选择“取消订单”时提交“delOrder.do”请求。
20
总结
本文讲述了Java/JSP/Struts在WEB应用的一些基本知识,并通过网上书店的程序对JSP的运用进行了深化,从本文中可看出JSP与Struts框架结合的模式,在电子商务上应用十分灵活,不过要真正掌握好它们却并不是一件容易的事情,在实际应用的WEB开发中,还有很多关于安全方面的问题需要考虑。在这里要感谢上海浦东软件园的培训部的江玮老师,他在我论文及设计的定题以及修改上给予了我很多的支持,对我论文的完成帮助很大。
参考资料:
(1)JSP编程技巧/清宏计算机工作室编著. 北京:机械工业出版社,2001.1
(2)精通JBuilder 3环境下的JAVA编程/锐思创作室编著. 北京:人民邮电出版社., 2001.1 (3)深入JAVA Servlet 网络编程. 清华大学出版社
(4)Struts开发入门与项目实践. 北京:人民邮电出版社, 2005.8
21