C2C电子商城

更新时间:2024-05-09 11:16:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

科研训练

C2C电子商城

C2C shopping mall

学生姓名 专业 学号 指导教师 学院

刘毅 软件工程 130521316 龚跃,刘丹 计算机科学与技术学院 二〇一六年六月

长春理工大学实习报告

起 止 周 实习地点 实习目的: 17~19 计算机学院专业实验室南区研1213 周 数 选 题 3 C2C电子商城 培养学生未来进入职场的素质,以及企业级行业解决方案系统的分析、设计、实现等企业级综合应用能力。 主要任务通过项目开发培养学生的职业素质,按照软件工程的思想,训练学生掌握面向对象分析/设计(UML 建模)、编码规范、概要设计方法、详细设计方法、模块划分方法等技能;培养学生的编程思想和基本工作技能,培养学生的编程能力。 实习要求: 要求学生能掌握软件开发的基本能力,具有项目开发的实际经验,按照专业方向或本人就业方向选择一个项目进行实际开发,能熟练运用常用的程序设计语言和开发工具,完成整个开发过程。 实习内容及进度安排: 本次课设的主要研究内容为设计一个C2C的网上购物商城,能够实现正常的网上购物需求,该系统实现的主要功能有: 1. 用户作为买家,能够浏览卖家正在销售的所有商品,商品根据用户的习惯分为多种类别,方便用户购买。用户可以将商品添加到购物车,浏览完毕后将所有商品一起结账。 2. 用户作为卖家,可以为自己的店铺添加不同的商品,为不同的商品划分不同的商品类别,为已购买商品的用户发货,完成购物过程。 本次课程设计的计划是第一周实现该系统的前台功能,第二周实现该系 统的后台功能,第三周完善整个系统的细节部分,对整个系统进行功能方面的测试以及优化。 指导教师评语: 成绩: I

长春理工大学实习报告

指导教师/带队教师(签字) 2016年 6月 日

II

长春理工大学实习报告

目录

第1章引言 .................................................................................................................... 1 1.1 研究背景 ....................................................................................................... 1

1.2 国内外研究现状 ........................................................................................... 1 1.3 研究的目的和意义 ....................................................................................... 2 1.4 网站设计原则 ............................................................................................... 3 第2章需求分析 ............................................................................................................ 4 2.1 系统的基本需求 ........................................................................................... 4

2.2 功能需求 ....................................................................................................... 4 第3章概要设计 ............................................................................................................ 6 3.1 Java语言 ...................................................................................................... 6

3.2 SSH框架 ...................................................................................................... 7 3.3 数据库软件MySQL .................................................................................... 7 3.4 JSP技术 ........................................................................................................ 9 3.5 开发环境 ..................................................................................................... 10 3.6 系统配置过程 ............................................................................................. 11 3.7 配置关键性问题的解决 ............................................................................. 11 第4章详细设计 .......................................................................................................... 13 4.1 系统模块详细设计 ..................................................................................... 13

4.2 系统的功能模块 ......................................................................................... 19 4.3 系统模块详细设计 ..................................................................................... 21 4.4 数据库设计 ................................................................................................. 26

4.4.1 数据库需求分析 .............................................................................. 26 4.4.2 实体属性定义 .................................................................................. 26 4.4.3 数据库逻辑设计 .............................................................................. 28

第5章系统实现 .......................................................................................................... 31

5.1 前台实现 ..................................................................................................... 31

5.1.1 网站首页页面 .................................................................................. 31 5.1.2 会员注册 .......................................................................................... 31 5.1.3 会员登录 .......................................................................................... 32 5.1.4 查看商品信息 .................................................................................. 33 5.1.5 搜索商品 .......................................................................................... 34 5.1.6 购物车 .............................................................................................. 34 5.1.7 付款 .................................................................................................. 35 5.1.8 更新个人信息 .................................................................................. 36 5.2 后台管理 ..................................................................................................... 37

5.2.1 后台登陆 .......................................................................................... 37 5.2.2 后台主界面 ...................................................................................... 37 5.2.3 新增商品种类 .................................................................................. 38 5.2.4 商品种类分类 .................................................................................. 38 5.2.5 新增商品 .......................................................................................... 39 5.2.6 商品列表 .......................................................................................... 40

I

长春理工大学实习报告

5.2.7 商品订单 .......................................................................................... 40 5.2.8 用户列表 .......................................................................................... 41 5.2.9 修改管理员密码 .............................................................................. 41

第6章总结与体会 ...................................................................................................... 42 参考文献 ...................................................................................................................... 43

II

长春理工大学实习报告

第3章概要设计

系统的设计主要是面对的是广大用户的需求,因为只有满足了用户的需求,购物商城系统才能成功。

设计要求功能全,同时操作简单。系统页面作为与用户交互的重要界面,在考虑页面的功能时也要考虑到操作的可行性和方便性,主要目的是让大多数不那么熟悉电脑操作的人也能够感受到网购的便捷。

本系统的完成主要采用了Java语言、SSH框架和Mysql数据库。下面对这几个进行详细说明。

3.1 Java语言

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

[7]

Java最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,以“Java”的名称正式发布。Java 编程语言的风格十分接近C、C++语言。Java是一个纯的面向对象的程序设计语言,它继承了C++ 语言面向对象技术的核心,Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。

Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将

6

长春理工大学实习报告

源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了Java 程序的运行效率。

一句话来概括Java语言就是:Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。

[8]

3.2SSH框架

SSH是Struts+Hibernate+Spring的集成框架,是目前比较流行的一种Web应用程序开源框架。SSH框架的特点有以下几点:

(1) Struts降低了系统的耦合度,使系统的逻辑结构更加清晰。

(2) Hibernate是一种开源的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使系统操纵数据库更加方便。

(3) Spring框架中的IOC和AOP对系统进行最大程度解耦合,使系统的各层之间的耦合度减小,大大提高了系统开发效率。

本系统是集成SSH框架的,它的层次分别为:表示层、业务逻辑层和数据持久层。在表示层采用JSP,Struts作为系统的整体基础架构,负责MVC的分离,利用Hibernate框架对持久层提供支持,业务层用Spring支持。SSH框架各层次关系如图2-1所示。

表示层 Struts-MVC Struts Action个 JSP,XML业务层 Spring-IOC Spring-AOP 持久化层 Hibernate Template DateBase 数据库 HibernateDAO 图2-1 SSH框架层次图

3.3数据库软件MySQL

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同

7

长春理工大学实习报告

的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。

[9]

与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。使用Linux作为操作系统,Apache和Nginx作为Web服务器,MySQL作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统。

[10]

MySQL 特点:

(1)使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。

(2)支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。

(3)为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。

(4)支持多线程,充分利用CPU资源。

(5)优化的SQL查询算法,有效地提高查询速度。

(6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。

(7)提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。

(8)提供TCP/IP、ODBC和JDBC等多种数据库连接途径。 (9)提供用于管理、检查、优化数据库操作的管理工具。

(10)支持大型的数据库。可以处理拥有上千万条记录的大型数据库。

8

长春理工大学实习报告

(11)支持多种存储引擎。

这次我所做的系统采用的是MySQL5.1版本。

3.4 JSP技术

JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

为了快速方便地进行动态网站的开发,JSP在过去的很多年里进行了一系列的改进,拥有了很多优点:

(1)一次编写,多次运行。除了系统之外,代码不用做任何更改。用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和百而设计者,能够编辑和伸用JSP页面,而不影响内容的生成。

(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/.net的局限性是显而易见的。

(3)强大的可伸缩性。从只有一个小Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。

(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。

[11]

(5)支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。

9

长春理工大学实习报告

JSP可以使用成熟的JavaBeans 组件来实现复杂商务功能。

(6)采用表示。Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时功能。

此外,通过开发标识库,JSP技术可以进一步扩展。第三方开发人员和其他 人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来进行工作。

JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且能扩展到支持企业级的分布式应用中。作为采用Java技术家族的一部分,

[12]

以及3ava 2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基

于Web的应用。由于JSP页面的内置脚本语言是基于Java的,而且所有的JSP页面都被编译成为Java Servlets,所以JSP页面具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程

[13]

语言一次编写,各处运行的特点。

3.5开发环境

(1) JDK软件

我们要开发Java EE的系统,却需要安装的是Java SE。Java SE的JDK是开发任何Java系统必须安装的工具包。我选用1.6的版本进行开发。

(2) Web服务器Tomcat

Tomcat是Apache-Jarkarta的一个子项目,是一个免费的、开放源码的、支持JSP和Servlet技术的容器,它同时又是一个Web服务器软件。

Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能。Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。

[14]

在本系统中选用稳定版本Tomcat6.0进行开发。 (3) 开发工具MyEclipse

10

长春理工大学实习报告

MyEclipse企业级工作平台(MyEclipse Enterprise Workbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富

[15]

的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP,CSS,Javascript,Spring,SQL,Hibernate。

MyEclipse是一个十分优秀的用于开发Java, J2EE的Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。

本系统中我将选用MyEclipse8.6作为开发工具。

3.6系统配置过程

系统配置详细过程:

(1) 在MyEclipse中配置安装好的Java开发包和Tomcat服务器; (2) 安装MySQL5.1,设置账号密码,用于数据库连接,然后安装NavicatforMySQL,使数据库可以在图形页面下进行操作;

(3) 在MyEclipse中新建Web Project项目,项目名为webShopping; (4) 导入Struts2包,Spring包,Hibernate包,其中Struts2的配置文件为Struts.xml,Spring的配置文件为bean.xml,使用bean.xml文件进行数据库连接池的配置;

(5) 导入外部的MySQL驱动包,用于数据库连接。

3.7配置关键性问题的解决

在对系统性能进行调整后才能更加快速稳定运行系统。主要内容如下: (1) 禁止Tomcat的自动重载

为了节约开发时间,在开发阶段Tomcat容器提供自动重载功能,方便在修改Java代码后不用重新启动服务。可是,在生产环境下面,却是占用大量开销,因为进行了没有必要的重新载入的操作,所以带来了很坏的性能影响。同时,

[16]

11

长春理工大学实习报告

在部分类载入,部分为载入的时候也可能带来各种奇怪的冲突。因此在J2EE的生产环境下关闭自动载入功能可以得到更好的性能。

(2) 控制HttpSession

在默认情况下,不在JSP页面中创建其会默认自动创建的HttpSessions对象,如果JSP页面中不需要HttpSessions,为了节省性能,使用下面的页面指令避免自动创建HttpSessions对象:<%@ page session=\。

(3) 为了处理乱码,数据库应和页面统一使用UTF-8编码处理。在使用Navicat新建数据库时,在使用的字符集一项选择:utf8 -- UTF-8 Unicode。

在进行数据库连接时,需要使用参数characterEncoding,参数值为UTF-8,如连接的数据库为WebShopping,那么在配置数据库连接时,使用的URL应该为: jdbc:mysql://localhost:3306/webShopping?useUnicode=true&characterEncoding=UTF-8。

(3)在每个JSP页面中,都要声明使用UTF-8这一字符集,为了保证保证每个JSP页面中的中文显示正常不出现乱码,需在每个JSP页面的最上都要加上这一句:<%@ page language=\contentType=\。

12

长春理工大学实习报告

第4章详细设计

4.1系统模块详细设计

(1) 用户注册

用户注册需要填写正确的信息,用户账户一旦注册就不能修改,用户的其他信息可以修改。用户填写信息需正确填写各项信息,如收货地址,用户下订单后用户的收货地址若是错误的则无法正确发货的。用户注册后,使用用户名和密码登录系统,可以进行购物、下订单操作。用户注册的流程图如图3-9所示。

用户注册 输入注册信息 N 信息有效 Y N 用户名是否存在 Y 注册成功

图3-9 用户注册流程图

(2) 用户登录

用户登录时需要输入用户名和密码,系统对用户输入信息进行验证,如果用户输入信息错误则需要重新输入,用户输入正确则可以成功登录,跳转到首页,

13

长春理工大学实习报告

显示用户常用操作如修改密码,修改信息,退出等。用户如果忘记密码可以通过查找密码来重新设置密码。用户登录流程图如图3-10所示。

用户登录 输入登录信息 N 信息有效 Y 登录成功

图3-10 用户登录流程图

(3) 用户信息修改

用户登录后可以修改个人信息,修改个人信息后需要重新登录才能查看到更新后的信息。用户登录后可以修改密码,重新登录需要使用修改后的密码才能登录。用户信息修改流程图如图3-11所示。

14

长春理工大学实习报告

用户信息修改 输入修改信息 N 信息有效 Y 信息修改成图3-11 用户信息修改流程图

用户修改密码流程图如图3-12所示。

用户修改密

输入新密码 N 密码有效 Y 密码修改成图3-12 用户修改密码流程图

(4) 用户找回密码

用户如果忘记密码,可以通过输入注册时的信息来重设密码。如果输入的注册信息错误则无法重设密码,只有输入正确的注册信息才能进行密码重设。用户

15

长春理工大学实习报告

找回密码的流程图如图3-13所示。

用户找回密输入注册信息 N 信息有效 Y N 输入新密码 密码有效 Y 密码重置成

图3-13 用户找回密码流程图

(5) 用户查看商品

用户不用登录就可以搜索商品,查看商品详细信息。用户可以通过搜索商品名称来搜索商品,或者商品分类来查看该种类的商品。用户查看商品流程图如图3-14所示。

前台首页 查看商品种类 N 有无商品 Y N 输入商品名称 有无信息 Y 查看商品信息 图3-14 用户查看商品流程图

(6) 添加到购物车

16

长春理工大学实习报告

用户登录后可以把商品添加到购物车,也可以对购物车商品进行删除。如果商品的剩余数量为0则无法把商品添加到购物车。添加到购物车流程如图3-15所示。

查看商品信N 添加到购物用户登录 N 用户是否登录 Y Y 商品是否有货 添加到购物车成图3-15 添加到购物车流程图

(7) 管理商品

管理员登录后台后,可以对商品进行管理,添加、删除商品。添加时如果商品已经存在则无法添加。管理商品流程图如图3-16所示。

管理员登录 添加商品 N 信息有效 Y 已存在 N

图3-16 管理商品流程图

(8) 管理商品种类

Y 删除商品 操作成功

管理员登录后台后,可以对商品种类进行管理,添加和删除商品种类。添加

17

长春理工大学实习报告

时如果商品种类已经存在则无法添加。管理商品种类流程图如图3-17所示。

管理员登录 添加商品种N 信息有效 Y 已存在 N Y 删除商品种操作成功

图3-17 管理商品种类流程图

(9) 系统管理

管理员登录后,可以修改登录密码、退出系统。系统管理流程图如图3-18所示。

管理员登录 修改密码 N 信息有效 Y 修改成功 图3-18 系统管理流程图

N 退出 确认退出 Y 成功退出

18

长春理工大学实习报告

4.2系统的功能模块

购物商城系统由前台管理、后台管理两部分组成。

前台管理:该部分主要是用户对商品的查询等功能,用户没有注册可以实现商品的查询和商品信息的查看;用户注册后还可以进行添加商品到购物车、从购物车删除商品、订单提交、个人信息更新等操作。

后台管理:该部分主要对商城内的一些基础数据进行有效管理,包括商品管理、会员管理、订单管理等。

(1)购物商城系统的前台系统框架图如图3-5所示。

购物商城系统前台 商品信息 订单 用户信息 购物车 商品信息显示 商品信息搜索 订单提交订单查看用户登录用户信息修改 用户注册密码找回购物车添加商品 购物车删除商品

前台主要功能介绍:

① 商品信息搜索:用户不用登录可以输入商品的名称来查看需要查询的商品,而且可以查看商品的详细信息,如生产厂商、剩余数量、介绍等。

② 分类查询:用户可以按分类来查看该分类的商品。

③ 用户注册:用户可以输入注册信息来注册,用户可以检查用户名是否存在,用户注册信息没有错误则可正确注册(不要使用中文名称来注册)。

④ 用户登录:用户输入登录名和密码进行登录,如果用户名和密码错误无法登录。

图3-5 前台系统框架图

19

长春理工大学实习报告

⑤用户信息修改:用户登录后可以查看个人信息并更新个人信息,还可以修改密码。

⑥ 购物车:用户登录后就可以购物,可以把商品添加到购物车,或者把商品从购物车删除,如果商品数量为0则无法添加到购物车。

⑦ 订单提交:用户把商品添加到购物车后即可提交订单,订单提交后用户可以进行付款。

⑧ 订单查看:用户可以查看自己的订单。 (2)购物商城系统的后台系统框架图如图3-6所示。

购物商城系统后台 商品管理 商品种类管理 订单管理 会员管理 系统管理 添加商品 删除商品 添加商品种类 删除商品种类 订单操作 会员操作 修改密码 安全退出

图3-6 后台系统框架图

后台主要功能介绍:

① 商品种类管理:管理登录后台后可以对商品种类进行添加、删除。添加时如果商品种类已经存在会提示添加错误。

② 商品管理:管理员对商品进行添加、删除操作,如果商品已经存在,添加时会提示商品已经存在。

③订单管理:管理员可以查看所有订单信息。 ④用户管理:管理员可以查询管理用户信息。 ⑤系统管理:管理员可以修改登录密码,安全退出。

20

长春理工大学实习报告

4.3系统模块详细设计

(1) 用户注册

用户注册需要填写正确的信息,用户账户一旦注册就不能修改,用户的其他信息可以修改。用户填写信息需正确填写各项信息,如收货地址,用户下订单后用户的收货地址若是错误的则无法正确发货的。用户注册后,使用用户名和密码登录系统,可以进行购物、下订单操作。用户注册的流程图如图3-9所示。

用户注册 输入注册信息 N 信息有效 Y N 用户名是否存在 Y 注册成功

图3-9 用户注册流程图

(2) 用户登录

用户登录时需要输入用户名和密码,系统对用户输入信息进行验证,如果用户输入信息错误则需要重新输入,用户输入正确则可以成功登录,跳转到首页,显示用户常用操作如修改密码,修改信息,退出等。用户如果忘记密码可以通过查找密码来重新设置密码。用户登录流程图如图3-10所示。

21

长春理工大学实习报告

用户登录 输入登录信息 N 信息有效 Y 登录成功

图3-10 用户登录流程图

(3) 用户信息修改

用户登录后可以修改个人信息,修改个人信息后需要重新登录才能查看到更新后的信息。用户登录后可以修改密码,重新登录需要使用修改后的密码才能登录。用户信息修改流程图如图3-11所示。

用户信息修输入修改信息 N 信息有效 Y 信息修改成图3-11 用户信息修改流程图

22

长春理工大学实习报告

用户修改密码流程图如图3-12所示。

用户修改密输入新密码 N 密码有效 Y 密码修改成图3-12 用户修改密码流程图

(4) 用户找回密码

用户如果忘记密码,可以通过输入注册时的信息来重设密码。如果输入的注册信息错误则无法重设密码,只有输入正确的注册信息才能进行密码重设。用户找回密码的流程图如图3-13所示。

用户找回密

输入注册信息 N 信息有效 Y N 输入新密码 密码有效 Y 密码重置成

图3-13 用户找回密码流程图

(5) 用户查看商品

用户不用登录就可以搜索商品,查看商品详细信息。用户可以通过搜索商品

23

长春理工大学实习报告

名称来搜索商品,或者商品分类来查看该种类的商品。用户查看商品流程图如图3-14所示。

前台首页 查看商品种类 N 有无商品 Y N 输入商品名称 有无信息 Y 查看商品信息 图3-14 用户查看商品流程图

(6) 添加到购物车

用户登录后可以把商品添加到购物车,也可以对购物车商品进行删除。如果商品的剩余数量为0则无法把商品添加到购物车。添加到购物车流程如图3-15所示。

查看商品信N 添加到购物用户登录 N 用户是否登录 Y Y 商品是否有货

添加到购物车成图3-15 添加到购物车流程图

(7) 管理商品

管理员登录后台后,可以对商品进行管理,添加、删除商品。添加时如果商

24

长春理工大学实习报告

品已经存在则无法添加。管理商品流程图如图3-16所示。

管理员登录 添加商品 N 信息有效 Y 已存在 N

图3-16 管理商品流程图

(8) 管理商品种类

Y 删除商品 操作成功

管理员登录后台后,可以对商品种类进行管理,添加和删除商品种类。添加时如果商品种类已经存在则无法添加。管理商品种类流程图如图3-17所示。

管理员登录 添加商品种N 信息有效 Y 已存在 N Y 删除商品种操作成功

图3-17 管理商品种类流程图

(9) 系统管理

管理员登录后,可以修改登录密码、退出系统。系统管理流程图如图3-18

25

长春理工大学实习报告

所示。

管理员登录 修改密码 N N 信息有效 Y 修改成功 图3-18 系统管理流程图

退出 确认退出 Y 成功退出

4.4数据库设计

4.4.1数据库需求分析

在本系统中,数据库发挥着重要的作用,设计好数据库能够增加系统的运行效率,增加客户浏览网页的效果。可知,数据库应当解决如下需求:

(1)利用数据库保存商品信息,包括商品的名称、价格、分类等。 (2)利用数据库保存用户信息,包括用户的用户名、性别、密码等信息。 (3)利用数据库保存购物信息,包括用户的ID码、商品的ID码、数量、价格等。

(4)利用数据库保存购物车信息,包括购物车ID、商品ID、购买数量、总价格、会员ID。

4.4.2实体属性定义

(1) 用户实体拥有的属性有用户ID、用户名、用户密码、姓名、性别、电话、邮寄地址和电子邮箱这八个属性。用户实体属性如图4-1所示。

26

长春理工大学实习报告

用户ID用户名用户用户密码电子邮箱邮寄地址电话姓名性别

图4-1 用户实体属性图

(2) 商品实体拥有的属性有商品ID、商品种类、商品名称、商品厂商、商品描述、商品原件、商城价格、总数量、剩余数量和商品图片这十个属性。商品实体属性如图4-2所示。

商品ID商品种类商品商品名称商品总数商品图片商品剩余数量生产厂商商品描述商品原价商城价格 图4-2 商品实体属性图

(3) 商品种类实体拥有的属性有商品种类编号和商品种类名称这两个属性。商品种类实体属性如图4-3所示。

商品种类ID商品种类商品种类名称 图4-3 商品种类实体属性图

(4) 订单实体拥有的属性有订单ID、订单用户名、商品、提交时间、发货时间、总金额、是否付款和是否发货这个八个属性。订单实体属性如图4-4所示。

27

长春理工大学实习报告

订单ID订单流水号订单用户订单商品信息是否已付款提交时间发货时间总金额是否已发货 图4-4 订单实体属性图

(5) 管理员实体拥有的属性有管理员ID、管理员用户名和管理员密码这三个属性。管理员实体属性如图4-5所示。

管理员ID管理员管理员用户名管理员密码 图4-5 管理员实体属性图

4.4.3 数据库逻辑设计 (1) 用户信息表(users)

用户信息表:用于记录用户ID、用户名、用户密码、用户姓名、用户性别、用户电话、商品邮寄地址及用户电子邮件等信息。用户信息表的内容如表4-1所示。

表4-1用户信息表

字段名称 userId username password name sex phone post 数据类型 int(20) varchar(50) varchar(50) varchar(50) varchar(50) varchar(50) varchar(255) 约束条件 主键 可否空 否 否 否 否 否 否 否 默认值 1 无 无 无 无 无 无 注释 用户ID(自增) 用户名 用户密码 用户姓名 用户性别 用户电话 邮编 28

长春理工大学实习报告

varchar(255 ) email varchar(50) (2) 商品信息表(commoditys) address 否 否 无 无 邮寄地址 电子邮件 商品信息表:用于记录商品编号、商品种类、商品名称,商品厂商,商品描述,商品原价格,商城出售价格,商品总数量,商品剩余数量和图片等信息。商品信息表的内容如表4-2所示。

表4-2商品信息表

字段名称 commodityId commodityClass commodityName manufacturer commodityDepict commodityPrice webShopPrice commodityAmount commodityLeaveNum image 数据类型 int(20) varchar(50) varchar(50) varchar(50) varchar(255) double(20) double(20) int(50) int(50) 约束条件 主键 外键 可否空 默认值 否 否 否 否 否 否 否 否 否 1 无 无 无 无 无 无 无 无 无 注释 商品编号(自增) 商品种类 商品名称 商品厂商 商品描述 商品原价 商城价格 商品总量 剩余数量 商品图片 varchar(25 否 5) (3) 商品种类信息表(commodityclasses) 商品种类信息表:用于记录商品种类的编号,商品种类名称等信息。商品种类信息表的内容如表4-3所示。

表4-3商品种类信息表

字段名称 commodityId 数据类型 int(20) 约束条件 主键 可否空 默认值 否 否 1 无 注释 商品编号(自增) 商品种类名称 commodityClass varchar(50) (4) 订单信息表(orderform) 订单信息表:用于记录订单的编号,用户信息,订单提交时间,发货时间,总金额,买家备注,买家是否付款,是否发货等信息。订单信息表的内容如表4-4所示。

29

长春理工大学实习报告

表4-4 订单信息表

字段名称 orderFormId 数据类型 int(20) 约束条件 主键 外键 外键 可否空 默认值 否 否 否 否 是 否 是 否 是 否 1 无 无 无 无 无 无 无 无 无 注释 订单编号(自增) 用户名 商品信息 提交时间 发货时间 总金额 用户备注 是否付款 是否发货 订单流水号 username varchar(20) commodity varchar(50) submitTime varchar(50) consignmentTime varchar(50) totalPrice varchar(50) remark varchar(50) isPayoff varchar(10) isConsignment varchar(10) orderFormNum bigint(20) (5) 管理员信息表(admins) 管理员信息表:用于记录管理员编号,管理员用户名,管理员密码等信息。管理员信息表内容如表4-5所示。

表4-5管理员信息表

字段名称 adminId adminName 数据类型 int(20) 约束条件 主键 可否空 默认值 否 否 否

1 无 无 注释 管理员编号(自增) 管理员名称 管理员密码 varchar(255) adminPassword varchar(255)

30

长春理工大学实习报告

第5章系统实现

5.1 前台实现

5.1.1网站首页页面

系统页面简洁,上方的导航包括用户登录、用户注册等信息,下方显示商品种类列表、最新商品、用户登录框等信息,用户可以通过左侧导航栏来查看每个种类的商品,也可以通过搜索来查找商品。系统主页面如图5-1所示。

图5-1 系统主页面

主要代码:

系统主页的商品分类需要通过请求来获取商品种类列表。 获取商品种类列表的关键代码如下:

public String execute() throws Exception { Map request = (Map) ActionContext.getContext().get(\ commodityClasses = commodityClassService.findAllCommodityClasses(); request.put(\

return \

5.1.2会员注册

用户可以通过注册成为商城会员,点击用户注册打开用户注册页面,用户注册包括用户名、密码、用户姓名、性别、电话、收货地址、电子邮箱等信息,用户点击每个输入框时在后面会提示需填入的内容或注意事项。用户注册页面如图

31

长春理工大学实习报告

5-2所示。

图5-2 会员注册

用户提交注册信息后,如果没有错误的信息,则会提示注册成功,跳转到登录页面。若用户注册信息有错误,则会提示注册失败,返回到注册页面,让用户重新注册。

用户注册关键代码如下:

public String execute() throws Exception { String username= user.getUsername(); User user = service.findUserByName(username); if(user==null){ this.service.save(this.user); return \ else{ return \} }

5.1.3会员登录

用户可以通过右侧的登录框登录,也可以通过上方的导航栏打开用户登录页

32

长春理工大学实习报告

面进行登录。用户登录页面如图5-3所示。

图5-3 会员登录界面

用户登录关键代码如下:

public String login(){ String username= user.getUsername(); String password=user.getPassword(); User user

service.getUserByLoginNameAndPassword(username,password); if(user == null){ ActionContext.getContext().put(\用户名或密码错误\ return \ }else{ ActionContext.getContext().getSession().put(\ return \ } }

5.1.4查看商品信息

点击商品下的详细按钮,可以查看商品的详细信息,在商品的详细信息中可以看到商品的名称、商品生产厂商、价格、数量、上架时间和商品的描述,这项操作用户没有登录也能进行。商品信息页面如图5-4所示。

=

图5-4 商品详细信息页面

商品详细信息关键代码如下:

public String findCommodityById(){ int commId= commodity.getCommodityId(); Commodity commodity = this.service.findCommodityById(commId);

33

长春理工大学实习报告

ActionContext.getContext().getSession().put(\commodity); return \ }

5.1.5搜索商品

用户可以通过输入商品的部分名称进行商品搜索,搜索商品后会显示搜索到的信息,如果没有相关信息会输出没有该商品信息。搜索商品信息结果页面如图5-5所示。

图5-5 搜索商品结果页面

搜索商品关键代码如下:

public String findCommodityByName(){ String commodityName= commodity.getCommodityName(); Map request = (Map) ActionContext.getContext().get(\ request.put(\commodityName)); ActionContext.getContext().getSession().put(\ commodityName); return \ }

5.1.6购物车

用户登录后才能把商品添加到购物车。在每件商品的下方都有添加到购物车按钮,点击添加就可以添加到购物车,添加一次商品,商品剩余数量就减少1,如果商品剩余数量为0,则无法添加到购物车,提示商品无货。在购物车中可以查看购物车中的物品,商品的简单信息。在购物车中可以移除商品,移除商品时,

34

长春理工大学实习报告

商品剩余数量会增加1。用户可以在买家备注里输入备注信息,然后点击提交订单进行订单的提交,也可以点击继续购物继续浏览商品。购物车页面如图5-6所示。

图5-6 购物车页面

商品添加到购物车关键代码如下:

public String execute() throws Exception { int commodityId= commodity.getCommodityId(); Map session =(Map) ActionContext.getContext().getSession(); Commodity commoditys = commodityService.findCommodityById (commodityId); if(commoditys.getCommodityLeaveNum()==0){ ActionContext.getContext().getSession().put(\商品已无货!\ return \ } else{ List car = null; if(session.get(\ car = new ArrayList();

}

5.1.7付款

用户点击提交订单按钮后,用户的订单就提交到了数据库,然后可以进行付款操作。用户付款时会检查用户金额,如果用户金额不足,会提示余额不足无法付款;用户余额足够才能付款成功。如果用户没有对订单进行付款,商家不会发货。用户付款页面如图5-7所示。

35

本文来源:https://www.bwwdw.com/article/55ag.html

Top