您的当前位置:首页商丘职业技术学院毕业设计—初稿2

商丘职业技术学院毕业设计—初稿2

来源:小侦探旅游网


商丘职业技术学院毕业设计(论文)

题目基于J2EE结构的网上商城的设计与实现 系部:软件学院 专业:软件技术 班级:软件(2)班 学号:0909340214 姓名:吴xx 指导教师:张xx 完成日期: 2011 年5月 6 日

商丘职业技术学院软件技术毕业论文

摘 要

随着社会的发展,科技的进步,作为信息载体的计算机日益显露出其举足轻重的地位。当今社会已步入了信息社会,知识经济将成为新世纪的主导产业。伴随计算机的逐步推广和使用,计算机已在科研、生产、商业、服务等许多方面创造了提高效率的途径。

特别是人类进入新千年以来,信息产业得到飞速发展。经济的全球化,人们生活在动态流通的环境中,也越来越需求及时,互动,反馈的为标准的服务产品。Internet飞速发展使互联网成为人们快速获取发布和传递信息的重要渠道,也使电子商务平台得到广泛的应用,特别是阿里巴巴(支付宝)、中银控(Chinapay)等大型公司的第三方支付平台的相继推出,使网络购物功能日趋完善和成熟。可以说电子商务正改变着人们已有的生活方式。其在改善生活质量的同时,在用户体验方面也得到很大提升。

因此,本文着眼于电子商务平台,从基于网上商城系统入手,模拟淘宝网、京东商城、当当网等三大网购门户网站,以服务器-浏览器(B/S)架构,整合最新web2.0 开发的Hibernate3.x+Struts2.x+Jquery开源框架,尝试对网上购物系统的各功能模块及业务逻辑作出简要浅析,并对部分用例给出具体实现。

关键字:网上购物;购物车;权限管理;订单

I

商丘职业技术学院软件技术毕业论文

Abstract

With the social development, technological advances, increasing the computer as an information carrier revealing his important position. Today's society has entered the information society, knowledge-based economy will be the leading industry in the new century. With the gradual promotion and use of the computer, the computer in scientific research, production, commerce, services, and many other aspects to create a more efficient way.

In particular the new millennium, mankind has been the rapid development of information industry. Economic globalization, the flow of people live in a dynamic environment, more and more demand for timely, interactive feedback as the standard of service products. The rapid development of Internet makes quick access to the Internet become an important issue and transfer of information channels, e-commerce platform also widely used, especially Ali Baba (Alipay), Bank of Control (Chinapay) and other large third-party payment platform company launched to make online shopping functions are becoming more perfect and mature. Can be said that electronic commerce is changing people's way of life has been. Improve the quality of life in the same time, the user experience has also been greatly improved.

Therefore, this paper focuses on e-commerce platform, starting from the Online Shopping Mall-based, simulation Taobao, Jingdong Mall, Dangdang three major online shopping portal to the server - the browser (B / S) architecture, integrating the latest web2. 0 developed Hibernate3.x + Struts2.x + Jquery open source framework, try online shopping system and the functional modules of business logic to make a brief, and gives some concrete realization of use cases

Keywords: online shopping; shopping cart; rights management; orders

II

商丘职业技术学院软件技术毕业论文

目录

前言 ............................................................................................................................... 1 1. 项目需求及设计说明 ........................................................................................ 2 1.1 项目开发环境................................................................................................... 2 1.2 技术实现........................................................................................................... 2 1.3 名称解释:....................................................................................................... 2 1.4 项目背景........................................................................................................... 3 1.5 用例模块描述......................................................................................................... 4

1.5.1用户权限 .................................................................................................................. 4 1.5.2我的订单 .................................................................................................................. 4 1.5.3商品展示 .................................................................................................................. 5

1.5.4购物车 ...................................................................................................................................... 5

2、项目设计说明..................................................................................................... 5

2.1 系统基本架构................................................................................................... 5 2.2 数据库设计....................................................................................................... 6

2.2.1类别表(Category) ............................................................................................... 6 2.2.2商品表(Product) ................................................................................................. 6 2.2.3用户表(Users) ....................................................................................................... 7 2.2.4收件人地址表(receive_address) ........................................................................ 7 2.2.5选购条目表(item) ............................................................................................... 7 2.2.6 订单表(Order) ................................................................................................... 8 2.2.7 订单项表(OrderLine) ........................................................................................ 8

2.3 领域模型........................................................................................................... 8

2.3.1 com.wuyf.actions.authorize ..................................................................................... 8 2.3.2 com.wuyf.atcions.order ............................................................................................ 8 2.3.3 com.wuyf.actions.cart .............................................................................................. 8 2.3.4 com.wuyf.actions.main ............................................................................................ 9

2.4 业务模型........................................................................................................... 9

2.4.1 com.wuyf.service.CartService .................................................................................. 9 2.4.2 com.wuyf.service.OrderService ........................................................................... 10 2.4.3 com.wuyf.service.UserService ............................................................................... 10 2.4.4 com.wuyf.service.CategoryService ........................................................................ 11

3.用例实现 ............................................................................................................ 12

3.1 功能概述....................................................................................................... 12

3.1.1 前台运营 ............................................................................................................... 12 3.1.2 后台管理 ............................................................................................................... 12

III

商丘职业技术学院软件技术毕业论文

3.1.3 后台服务 ............................................................................................................... 13

3.2 代码实现............................................................................................................... 13

3.2.1 用户权限管理 ....................................................................................................... 13 3.2.2 用户注册 ............................................................................................................... 19 3.2.3 用户激活 ............................................................................................................... 20

3.3 商品信息分类浏览....................................................................................... 23 3.4 订单生成......................................................................................................... 24 3.5代码结构分类明细.......................................................................................... 26 4.结论 ..................................................................................................................... 27

5.参考文献 ............................................................................................................ 28 6.致谢 ..................................................................................................................... 29

IV

商丘职业技术学院软件技术毕业论文

前言

计算机信息管理中的广泛使用,也使得网络购物越来越普遍,给顾客带来很大便利。建立一个网络商城系统能更加有效率的进行商品的买卖活动,使顾客可以在商城中轻松购物,并完成商品和货币的交易。极大的方便了人们的生活,使合法的直销模式成为可能。并将为促进商品经济的流通呈现新局面创造条件。WEB2.0理念的融入,进一步提升了用户的个人体验,使使用者从单一的信息浏览者到信息的发布者、决策者之间转变。

本文用例的设计,参照真实企业项目---IDG 投资兄弟公司“当当网”门户系统中的“在线购书系统”。尝试基于J2EE的企业级应用中的核心技术和开发流程,简要给出设计文档,并对部分功能模块给出必要分析。该项目包含基本模块有:用户权限管理、商品分类浏览、后台服务、订单生成及与之相对应的数据库表的设计。后台服务主要包括:日志服务、订表单的维护和对用户数据进行及时收集、加工、整理、贮存、检索、传递、反馈等。

从本文着手拟题到最终的成稿,笔者参考了大量 JavaWeb 方面的资料,其间也多次几易其稿,目的也是为了论文的日臻完善。计算机技术飞速发展,用户需求的提高使得网上购物系统的开发和测试变得异常复杂,而本人也只能算是J2EE平台项目开发的入门者,加之模块完成布署后进行单元测试方面的限制(比如可供实际操作的数据库、WEB服务器),本文只对用户权限管理、分类浏览、购物车、订单生成等模块给出具体实现,其余部分给出的是需求分析。

与本文档相应的同源代码将一并发布

1

商丘职业技术学院软件技术毕业论文

1. 项目需求及设计说明

1.1 项目开发环境

 开发平台:WINDOWS XP

 开发工具:MyEclipse 6.0 + JDK1.6  服务支持:tomcat服务器 + Mysql 数据库

1.2 技术实现

本系统基于J2EE 企业级应用核心所采用的技术主要为CoreJava 、Servlet、

JSP、XML。MVC设计模式下所采用的开源框架主要有:数据持久层Hibernate3.1;流程控制Struts2.1.6 。

WEB 网页方面的HTML/CSS 、JavaScript 、Jquery、异步刷新页面Ajax 及动态网页逻辑控制的JSTL标记和OGNL对象导航图语言

1.3 名词解释:

1.3.1.注册用户(Register User):本系统的使用权面向所有公众,以游客

身份进入系统时可以浏览部分商品,并可将所选择的商品加入购物车。但无法为所购商品支付并生成有效订单。注册用户在数据库中有对应记录,用户在使用注册用户登录时可以选购并为商品支付、生成订单

注册用户包含的信息:用户名,E-Mail地址,昵称,登录密码,激活码,用户积分,登录IP等。

1.3.2.激活码(Activation Code):普通用户在完成注册时系统会自动生成

一个激活码并按用户所提供的邮件地址发到用户邮箱,用户只有登录到有效邮箱进行激活后才能进行下一步操作,用户也可以选择注册时暂不激活等下次使用时才激活。

1.3.3.用户积分(User Integral):用户在每完成一笔交易后都可或取一定

2

商丘职业技术学院软件技术毕业论文

的积分,用户可以使用该积分充抵相应面值的货币,或者在商家指定的商品范围内享受优惠。

1.3.4.商品目录:(Product Category):为了使系统可维护,具有更大

的开放性。商城中所列的所有商品不是通过静态页面返给用户的,而是根据数据库里数据动态生成的。商品的目录关系在数据库中由主外键关系关联着

1.3.5.购物车:(Shop Cart):对于每一合法登录的使用者系统都会自动

分配一个购物车供用户使用,使用者可将所需要的商品添加到购物车中,该购物车可在多个页面间共享。

1.3.6. 订单(Order Item):用户在确认交易后,根据登录信息、收件人地

址和购物车里的内容生成一个订单。以备商家根据订单的详细内容对用户进行发货。

1.4 项目背景

近年来随着计算机的日益普及和网络(特别是因特网)的迅速发展,在

全球范围内形成了一种新的企业经营方式,他们把所有的商业活动和贸易往来电子化,利用发达的网络环境 进行快速有效的商业活动。这就是最近成为世界上最热门的话题:电子商务。

其实,电子商务这个概念起源于七十年代,在那时,一些大公司通过建立自己的计算机网络实现各个机构之间、商业伙伴之间的信息共享、交换,这就是广为流行的电子数据交换(EDI)。电子数据交换是一种为满足企业需要而发展起来的先进技术手段,必须遵照统一的国际标准。EDI通过传递标准的数据流可以避免人为的失误,大大地降低成本、提高效率。现在,因特网为电子商务带来了飞速的增长,电子商务会越来越成为主流的商务活动方式,但EDI是电子商务的基础,并且EDI技术已经摆脱了以前旧式的昂贵的公司独立网络,而融入到因特网中。

当今世界网络、通信和信息技术的发展,Internet在全球迅速普及,使得商业空间发展到全球的规模,同时也使得现代商业企业需要具有不间断地供货能力、不断增长的客户需求和不断增长的全球竞争三大特征,这使得任何一个商业

3

商丘职业技术学院软件技术毕业论文

组织都必须调整自己的经营方式和产业结构,以适应新的市场发展的需要。因此,任何一个企业要在21世纪生存,就必须迅速地改变传统的经营观念,跟上当今世界发展的最新潮流,加入到电子商务大潮中。

那么,什么是电子商务?简单地讲,电子商务利用现有的计算机硬件设备、软件和网络基础设施,通过一定的协议连接起来的电子网络环境进行各种各样商务活动的方式。更广泛地说,凡是利用国际互联网进行商务活动的一种方式就是电子商 务。电子商务以其高效率、低廉、高收益、全球化等传统经营方式所无法比拟的优点受到全球的关注。美国、欧盟等发达的国家或组织已经采取措施大力发展电子商务。我国政府也大力倡导电子商务。专家预测,公司和公司之间的电子商务贸易额将从1997年的56亿美元发展到2002年的2680亿;个人网上购物将从 1997年的18亿发展到2002年的260亿。因此,电子商务中蕴涵着无穷的商业机遇。

NWAP(NetShopping WEB application platform简称NWAP)是应虚拟商家所求推出的一款通用的WEB应用平台产品,可以帮助您提供构筑专业的电子商务平台的基础。

1.5 用例模块描述

商品展示:实现商品预览、商品明细、分类检索功能。

购物车:实现添加商品、删除列表、恢复列表、数量修改、清空购物车、结算功能。

我的订单:实现订单确认、订单列表、删除订单、查询明细功能。 用户管理:实现登入/登出、用户注册、信息修改功能。

1.5.1.用户权限:

用户在浏览器地址栏输入本系统的URL后进入主页面,若当前用户为第一次

登录即为游客身份,游客所拥有的权限仅为浏览商品、登录,注册等。游客在没有注册时不具有登录用户所享有一些功能,这其中包括生成订单、修改订单、查看个人信息、修改密码、查看积分,安全退出登录状态等。

1.5.2.我的订单

实现订单确认、订单列表、删除订单、查询明细功能。在用户确认所选购商

4

商丘职业技术学院软件技术毕业论文

品后,若前提用户已经登录可以进一步让用户输入收件人地址并生成订单,若用户尚未登录在生成订单时将会将用户引导到登录页面。厂商可以根据订单时的商品信息和收件人地址对消费者进行发货

1.5.3.商品展示

实现商品预览、商品明细、分类检索功能。在进入查询页面后,使用者点击查询,页面会根据用户输入的筛选条件进行与后台数据库动态交互,将返回符合条件全部商品信息,并按系统预设分页呈现给用户,用户就可以跟据表单列出的详细信息选择适合自己所需要的商品,并在本条目后面的链结处点击购买。

1.5.4购物车

实现添加商品、删除列表、恢复列表、数量修改、清空购物车、结算功能。根据用户点击商品的购买链接将商品添加到购物车中。进入到购物车浏览页面时表单中文本框使用者可以跟自己意愿设置购买的数量。或者删除商品,注意此处的商品并不是真在删除,而是被缓存了,在需要的时候仍可能恢复。该系列操作完成之后可以返回到上一级进行其它操作或者查看购买信息。

2、项目设计说明

2.1 系统基本架构:

本系统是NWAP-V1.0 的升级版本,在之前版本设计是基于GUI(图形用户界面),即B\\S 架构的,而V1.1 融入了WEB 2.0 技术,使用的是客户机浏览器的模式即:C\\S架构

5

商丘职业技术学院软件技术毕业论文

图2-1-1 系统基本架构

注册Registry.jsp商品高级查询ProductQuery.jspIndex.jsp登录Login.jsp用户信息修改Usermodify.jsp用户信息维护Userinfo.jsp定单浏览Orderbrowser.jsp交易记录浏览Transactionbrowse.jsp商品按类别显示Productlist.jsp商品结算Transaction.jsp

图2-1-2各系统模块的关系及基本流程

2.2 数据库设计

2.2.1 类别表(category) 字段名称 category_id Parent_id Name Description Trun 2.2.2 商品表(product) 字段名称 product _id 类型 integer 约束 auto_increment/ 6

类型 integer integer varchar(128) varchar(512) Int(10) 约束 pk not null not null / Not null 描述 类别id 父类别id 类别名 类别说明 目录的排序 描述 商品id 商丘职业技术学院软件技术毕业论文

pk Name fixed_price dang_price Author Publish Pages product_pic Description

varchar(40) Double Double varchar(128) varchar(256) int varchar(128) varchar(512) not null not null Not nul not nul not nul / / / 商品名 商品订价单价 商城买价 作者 出版社 页数 图片 描述 2.2.3 用户表(users) 字段名称 类型 Id Nickname Password Email user_integral is_email_verify email_verify_code last_login_time last_login_ip int(12) varchar(20) varchar(12) varchar(32) int(12) char(3) varchar(32) int(20) varchar(15) 约束 not null not null not null not null default '0' / default NULL default NULL default NULL 描述 用户主键 用户昵称 密码 Email 用户积分 邮箱是否激活 邮箱激活码 最后登录时间 最后登录IP 2.2.4 收件人地址表(receive_address) 字段名称 Id receive_name full_address user_id postal_code Mobile Phone 类型 int(12) varchar(20) varchar(64) int(11) varchar(8) varchar(15) varchar(20) 约束 pk not null not null not null not null default null default null 描述 地址id 收件人姓名 地址全称 用户ID 邮编 手机 固定电话 2.2.5 选购条目表(item) 字段名称 Id product_id order_id product_name dang_price product_num 类型 int(10) int(10) int(10) varchar(100) double int(10) 约束 pk not null not null not null not null not null 描述 条目id 商品ID 订单id 商品名称 商品价格 购买数量 7

商丘职业技术学院软件技术毕业论文

2.2.6 订单表(order) 字段名称 类型 Id user_id Status order_time order_desc total_price int int(10) Int Int(20) varchar(200) double 约束 auto_increment / pk not null not null not null default null not null 描述 订单id 用户ID 订单状态 订单时间 订单描述 订单总金额 2.2.7 订单项表(orderline) 字段名称 orderline_id orders_id product_id Amount 类型 integer integer integer numeric(20,2) 约束 auto_increment / pk not null not null not null 描述 订单项id 订单id 商品id 商品数量 2.3 领域模型

2.3.1 com.wuyf.actions.authorize 类名

属性封装

功能说明

AuthorizeAction user validateCode 封装从页面提交过来用户信息 AuthorizeVerifyAction emailVerifyCode 封装系统生成邮箱激活码 LoginAction

user url

封装页面提交过来的用户登录信息

RedriectAction 根据业务逻辑处理结果跳转到相关页面

2.3.2 com.wuyf.actions.order 类名

属性封装

功能说明

根据购物车信息生成用户订单

OrderAction order OrderAction OrderAction

mapAddress 从数据库中取该用户上次提交的地址信息 address

封装用户输入的一个全新地址

2.3.3 com.wuyf.actions.cart 类名

属性封装

功能说明

所选购商品信息条目

CartAction cartItems CartAction

savePrice 通过本商城购买商品共结省的费用

8

商丘职业技术学院软件技术毕业论文

CartAction totalPrice 此次交易商品的总费用

2.3.4 com.wuyf.actions.main 类名

属性封装

功能说明

当前目录下所包含的子目录 在所选目录下所包含的商品列表信息

CategoryAction listCates BookListAction HotAction NewAction

books hotBooks newBooks

最近热卖的商品 最新上架的商品

RecommendAction recommendBooks 商家推荐的商品

2.4 业务模型

2.4.1 com.wuyf.service.CartService 方法 publicvoid addCartItem(CartItem cartItem); publicvoid deleteCartItem(CartItem cartItem); publicvoid recoveyCartItem(CartItem cartItem); publicvoid updateCartItem(CartItem cartItem); publicdouble totalPrice(); publicdouble savePrice(); publicvoid 功能说明 增加条目 删除条目 恢复上次删除的条目 更新商品数量 总价格 省下的费用 清空购物车 参数说明 将用户所选购的返回值说明 // 商品封装成一个 条目增加到购物车 要删除的条目 要恢复的条目 要更新的条目 将购物车清空 // // // // 遍历每一商品算出总价格 通过本商城购买所省下的总费用 clearCart(); 9

商丘职业技术学院软件技术毕业论文

2.4.2 com.wuyf.service.OrderService 方法定义 功能说明 参数说明 返回值类型 public List createOrderItems(CartService cartService); public Order createOrder(List items,CartService cartService); public Map getReceiveAddressList(Integer userId); publicvoid submitOrder(User user, ReceiveAddress address, Order order); 创建订单列表 根据Session中存储的信息生成order 根据userId查出用户之前用过的地址 提交订单 购物车业务对象 购物车业务对象 订单列表 用户ID 订单列表 订单对象 用户—地址映射列表 用户、用户地址、无 订单对在象

2.4.3. com.wuyf.service.UserService 方法定义 功能说明 参数说明 返回值类型 public User addUser(User user, HttpServletRequest request); public User updateUser(User user); public User findByEmail(String email); public User findById(Integer id); public User 增加新用户 更新用户信息 根据邮箱找到用户 根据用户ID查找用户 10

表单提交过来的用户信息 用户对象 邮箱地址 用户ID 新用户对象 用户对象 用户对象 用户对象 商丘职业技术学院软件技术毕业论文

validateUser(User user,HttpServletRequest request); publicvoid logout(Map session); publicboolean activeUser(String emailVerifyCode, Map session); 注销用户 根据邮箱验证码激活用户 Session中的用户 Session ,激活码 无 激活成功与否

2.4.4. com.wuyf.service.CategoryService 方法定义 功能说明 参数说明 返回值类型 public List createCategory(Integer parentId); public Category findCatById(Integer id); public CurrentBooks getCurrrentBooks(Category category, Integer sc, Integer ssc, Integer page, int pageSize); 根据父类目录ID加载所有子目录 根据ID找到某一目录 获取当前目录下的商品信息 父类目录ID 所需要查找的ID 当前目录、分页查询条件 目录列表 目录对象 商品信息

11

商丘职业技术学院软件技术毕业论文

3.用例实现

3.1 功能概述

系统功能模块分为以下几部分:前台营业,后台管理,后台服务。

3.1.1前台运营

1.用户注册、登录/登出 1.1登录

1.2退出登录状态 1.3重新登录 2.分类浏览

2.1 分类浏览商品列表

2.2 最新上架商品、商家推荐、商品热卖榜 3. 购物车

3.1 将所需商品添加到购物车 3.2 修改所购买商品数目 3.3 删除不满意的商品 3.4 恢复上次误删的商品 3.5 结算

3.6 清空购物车 4. 订单生成

4.1 查找该用户以前所填写的收件地址 4.2 全新输入一个收货地址 4.3 确认所购商品信息无误 4.4 订单最终生成,订单信息录入数据库

3.1.2后台管理:

1.商品管理

1.1 查询已有商品信息 1.2 查询最近热卖商品 1.3 增加新到货商品 1.4 将新到货商品上架 2.用户帐户管理

2.1 查询用户 2.2 添加用户 2.3 删除用户 2.4 更改用户

12

商丘职业技术学院软件技术毕业论文

3.营业记录管理

3.1 查询营业记录 3.2 导出到excel表 3.3 确认二级结算 4.管理员管理

4.1 添加角色 4.2 删除角色 4.3 更改角色权

3.1.3后台服务:

1.日志服务

1.1 记录营业日志—记录营业记录信息

1.2 记录账户日志--记录帐户登录,登出等信息 1.3 记录错误日志—记录运行时发生的错误消息

1.4 记录管理日志—记录管理员对系统做出的管理修改 2.用户表和商品记录表的维护

2.1 处理过期商品信息数据 2.2 处理新上架的商品信息数据 3.订单表的维护

3.1 处理已执行订单数据

3.2 代码实现

3.2.1 用户权限管理

实体类设计:com.wuyf.domain 对使用者的基本信息进行封装 package com.wuyf.domain; /**

*DUserentity. *

*@authorMyEclipsePersistenceTools */

publicclass DUser implements java.io.Serializable { // Fields

private Integer id; private String email; private String nickname; private String password;

private Integer userIntegral;

13

商丘职业技术学院软件技术毕业论文

private String isEmailVerify; private String emailVerifyCode; // Constructors

/**defaultconstructor*/ public DUser() { }

/**minimalconstructor*/

public DUser(String email, String password, Integer userIntegral) {

this.email = email;

this.password = password;

this.userIntegral = userIntegral; }

/**fullconstructor*/

public DUser(String email, String nickname, String password,

Integer userIntegral, String isEmailVerify, String emailVerifyCode,

Long lastLoginTime, String lastLoginIp) { this.email = email;

this.nickname = nickname; this.password = password;

this.userIntegral = userIntegral; this.isEmailVerify = isEmailVerify;

this.emailVerifyCode = emailVerifyCode; }

// Property accessors public Integer getId() { returnthis.id; }

publicvoid setId(Integer id) { this.id = id; }

public String getEmail() { returnthis.email; }

publicvoid setEmail(String email) { this.email = email; }

public String getNickname() { returnthis.nickname; }

publicvoid setNickname(String nickname) {

14

商丘职业技术学院软件技术毕业论文

}

this.nickname = nickname; }

public String getPassword() { returnthis.password; }

publicvoid setPassword(String password) { this.password = password; }

public Integer getUserIntegral() { returnthis.userIntegral; }

publicvoid setUserIntegral(Integer userIntegral) { this.userIntegral = userIntegral; }

public String getIsEmailVerify() { returnthis.isEmailVerify; }

publicvoid setIsEmailVerify(String isEmailVerify) { this.isEmailVerify = isEmailVerify; }

public String getEmailVerifyCode() { returnthis.emailVerifyCode; }

publicvoid setEmailVerifyCode(String emailVerifyCode) { this.emailVerifyCode = emailVerifyCode;

}

使用Hibernate 框架实现数据库表到实体类之间关联关系映射,对JDBC进行轻量级的封装,用面向对象的对象的思想来操作关系型数据库,以下的XML配置文件用来表述:存入数据库字段与实体类中用户信息的对映关系。

\"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">

15

商丘职业技术学院软件技术毕业论文

对商品的信息进行封装

package com.wuyf.domain;

import java.math.BigDecimal; import java.util.Date; /**

*DBookentity. *

*@authorMyEclipsePersistenceTools */

publicclass DBook implements java.io.Serializable {

private Integer id; private String name;

private String bookNumber; private String company;

private String airlineCode;

16

商丘职业技术学院软件技术毕业论文

private Date startTime; private Date arriveTime; private BigDecimal price; private BigDecimal discount; public DBook() { super();

// TODO Auto-generated constructor stub }

public DBook(Integer id, String name, String bookNumber, String company, String airlineCode, Date startTime, arriveTime, BigDecimal price, BigDecimal discount) { super();

this.id = id;

this.name = name;

this.bookNumber = bookNumber; this.company = company;

this.airlineCode = airlineCode; this.startTime = startTime; this.arriveTime = arriveTime; this.price = price;

this.discount = discount; }

public String getAirlineCode() { returnairlineCode; }

publicvoid setAirlineCode(String airlineCode) { this.airlineCode = airlineCode; }

public Date getArriveTime() { returnarriveTime; }

publicvoid setArriveTime(Date arriveTime) { this.arriveTime = arriveTime; }

public String getBookNumber() { returnbookNumber; }

publicvoid setBookNumber(String bookNumber) { this.bookNumber = bookNumber; }

public String getCompany() { returncompany; }

publicvoid setCompany(String company) {

17

Date 商丘职业技术学院软件技术毕业论文

this.company = company; }

public BigDecimal getDiscount() { returndiscount; }

publicvoid setDiscount(BigDecimal discount) { this.discount = discount; }

public Integer getId() { returnid; }

publicvoid setId(Integer id) { this.id = id; }

public String getName() { returnname; }

publicvoid setName(String name) { this.name = name; }

public BigDecimal getPrice() { returnprice; }

publicvoid setPrice(BigDecimal price) { this.price = price; }

public Date getStartTime() { returnstartTime; }

publicvoid setStartTime(Date startTime) { this.startTime = startTime; } }

以下的XML配置文件用来表述:存入数据库字段与实体类中航班信息的对映关系。

\"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">

18

商丘职业技术学院软件技术毕业论文

private Integer id; private String name;

private String bookNumber; private String company;

private String airlineCode; private Date startTime; private Date arriveTime; private BigDecimal price; private BigDecimal discount;

3.2.2用户注册

用户在首次使用时,需使用邮箱注册一个账号,在用户使用当前输入失去焦点时,

19

商丘职业技术学院软件技术毕业论文

Ajax会与后台交互,告诉浏览器端该用户名是否被占用 如图3-2-1

代码实现:

public class RegistAction extends DangAction{ 图 3-2-3 用户注册信息录入页面 IAuthorizeService authorizeService ServiceFactory.getAuthorizeService(); private DUser user;

public DUser getUser() { return user; }

public void setUser(DUser user) { this.user = user; }

public String execute(){

//设置IP地址

=

user.setLastLoginIp(request.getRemoteAddr()); authorizeService.add(user);

session.put(Constant.SESSION_USER, user); return \"success\"; } }

3.2.3用户激活

package com. wuyf.action.authorize;

import com.googlecode.jsonplugin.annotations.JSON;

20

商丘职业技术学院软件技术毕业论文

import tarena.dangdang.service.ServiceFactory; public class VaidateAction extends DangAction{

//接收客户的Email private String email; //接收验证码

private String code; //返回验证结果

=

private boolean ok = false; IAuthorizeService authorizeService ServiceFactory.getAuthorizeService(); * 验证用户Email是否可用

* @return */

public String validEmail(){

ok = authorizeService.checkEmail(email); return \"success\"; }

public String validCode(){ String scode = (String)session.get(Constant.SESSION_CODE);

System.out.println(\"code:\"+code+\"===scode:\"+scode); ok = code.equals(scode); return \"success\"; }

@JSON(serialize=false)

public String getEmail() { return email; }

public void setEmail(String email) { this.email = email; }

public boolean isOk() { return ok; }

public void setOk(boolean ok) { this.ok = ok; }

public String getCode() { return code; }

21

商丘职业技术学院软件技术毕业论文

public void setCode(String code) { this.code = code; } }

当用户注册成功后,所注册的用户名处于非激活状态,使用无法使用此用户进行订单生成。仅当用户登录注册邮箱进行激活码验证后,才可以正常使用。用户激活页面如图 3-2-2

3.2.4用户登录

package com.wuyf.action.authorize;

public class LoginAction extends DangActionSupport{ private String email;

private String password;

authorizeService=

IAuthorizeService

ServiceFactory.getAuthorizeService(); /**

* 登录检查

*/

public String execute() throws Exception {

DUser user = authorizeService.checkUser(email, password);

if (user != null) {

session.put(Constant.SESSION_USER, user); session.put(Constant.SESSION_CARTKEY, null);

user.setLastLoginTime(System.currentTimeMillis());//记

录最近一次登录的时间和IP

22

商丘职业技术学院软件技术毕业论文

}

user.setLastLoginIp(request.getRemoteAddr()); if (\"Y\".equals(user.getIsEmailVerify())) {

//转到成功页面

return \"success\"; } else {

//未激活,转向到激活页面

return \"verify\"; }

} else {

this.addActionError(\"用户名或密码错误\");

return \"input\"; } }

public String getEmail() { return email; }

public void setEmail(String email) { this.email = email; }

public String getPassword() { return password;

public void setPassword(String password) { this.password = password; }

3.3 商品信息分类浏览

用户无需登录即可浏览本商城中的商品信息,为了方便商品的检索,特

将product分类存放在数据库中。本系统将所有商品分三级目录存放,每级目录间通过主外键进行关联,其中第一级是根据商品的性质及用途所进行的宏观分类,第二级是第一级目录下的若干子分类,第三级是第二级目录下的具体商品。用户根据这些信息可以文面找出自己满意的数据

23

商丘职业技术学院软件技术毕业论文

图 3-1-1 分类浏览—导航条

3.4 订单生成

用户在确认所要购买的商品之后即可进行订单生成,在生成订单操作之前会进行用户是

否登录验证,若用户尚未登录页面会跳转到引导用户登录页面。生成订单的第一步需要进行收件人地址信息录入页面,对于收件人信息在数据库中有对应的表设计,考虑到用户收件地址不会经常变动,而每次都手动输入相同的地址信息较为麻烦,为提高效率系统先会用户登录ID去数据库中查找上几次使用地址信息返回给客户端可供用户选择,被选中的符合条件的地址将会自动填充到表单中,当然,使用者也可以填写前几次未使用过的新的地址。收件人地址信息录入页面如图 3-4-1

24

商丘职业技术学院软件技术毕业论文

图3-4-1 收件人地址信息

当用户的地址信息录入完毕,点击“下一步”系统后台会自动取出购物车的信息,用户的登录信息和地址信息一起生成一份订单,订单生成成功页面 如图3-4-2

图3-4-2 订单生成页面

25

商丘职业技术学院软件技术毕业论文

3.5 代码结构分类明细

本系统按分包分模块结构设计,其中JAVA代码放在SRC文件目录下,在该文件下

共定义domain包:存放业务实体类dao包:存放对数据库的访问类 service包:存放业务实现类 action存放strutus2封装的action处理类 util包:存放服务于上述所有包的常用工具类。JSP页面代码存放于WEB-INF文件夹下。具体如图3-5-1所示

图 3—5-1

26

商丘职业技术学院软件技术毕业论文

4.结论

网上购物作为一种崭新的商务运作方式,将给人类带来一次史无前例的产业

革命。可以相信作为一种商务活动过程,网络购物的影响将远远超出商品交易活动本身,它为人类提供了一个全新的商品交易的方法,将成为潜在的经济增长动力,并推动世界经济向前发展。本文为模拟现实需求,为某机票代理网络营销公司开发一套网上购物系统,来满足人们对交易和服务更加简捷高效的需要。

本系统采用J2EE+Web Services构建基于B/S模式的三层分布式体系结构:(1)外部表现层(前台):实现顾客与商城交互的表示逻辑。(2)事务逻辑层(后台):当顾客请求了JSP页面时,Web服务器解释执行JSP页面,JSP页面可以置于任何网络服务器端与应用程序服务端。(3)数据库服务层:负责管理数据库,处理数据查询、数据更新、添加和运行存储过程。具体分为:用户登陆、用户权限、商品查询、订单管理和购物车等。

通过本次论文的撰写,不仅提高了站在系统架构角度分析和处理实际问题的能力,也使得所学知识即时转化为所用,培养了我们对科学研究的严谨态度和创新精神。这将非常有利于我们今后的学习和工作,并为自己能顺利与社会环境接轨做准备。

27

商丘职业技术学院软件技术毕业论文

5.参考文献

[1] 张建章.浅谈JSP开发WEB数据库应用技术, 计算机应用系统[J].1998,9. [2] 龚玉清.网页设计的色彩运用, 现代教育技术[J].2003,5.

[3] 段永红、李春海.基于JSP的网站建设, 电脑开发与应用[J].2000,8. [4] 裴树军、张仁伟.基于JSP的动态WEB技术设计, 哈尔滨理工大学学报[J].1999,4.

[5] 杨青.JSP的主要技术特点分析, 电脑与信息技术[J].1999,4. [6] 曹淑琴.JSP技术的网站建设, 华北科技学院学报[J].2003,1.

[7] 吴玉新.网站JSP后台解决方案[M].北京:人民邮电出版社,2003年 [8] 黄明、粱旭.JSP信息系统设计与开发实例[M].北京:机械工业出版社,2003年

[9] 刘禾、蔡锋.精通JSP架站技巧[M].北京:中国青年出版社,2002年 [10] 张海藩.软件工程[M]. 北京:人民邮电出版社.2002年

[11] Alberto Manuel Ricart.Active server pages 3 exploitation enchiridion[M].北京:电子工业出版社,2003年

[12] Eric A.Smith.Active server pages[M].北京:电子工业出版社,2003年

[13] Dave Mercer.JSP programme[M].北京:人民邮电出版社,2003年

28

商丘职业技术学院软件技术毕业论文

6.致谢

本次论文是在张哲老师指导下完成的,在论文的选题、撰写过程中吕后坤和雷燕等老师也给予了大力指导,并提供了很多与该研究相关的重要信息,此次论文的完成培养了我对科学研究的严谨态度和创新精神。这将非常有利于我们今后的学习和工作。在此表示衷心的感谢!

在对与本文相对应的源代码进行测试和修改BUG,并终形成v1.0版其间受到达内软件有限公司项目组大力支持,特别是达内项目经理岳城阳先生和刘佳宁老师给出有益指导和批评指正意见,在此一并表示感谢!

29

因篇幅问题不能全部显示,请点此查看更多更全内容