基于Java Web技术的手机销售网站的设计与实现
2024-01-04田玉昆
田玉昆
(广东培正学院数据科学与计算机学院,广东 广州 510830)
0 引言
科技的进步推动了5G 的发展,人们的工作生活越来越离不开智能手机和互联网,随时随地网购成为一种主流,同时传统销售模式的弊端逐渐显露出来[1]。因此,本文主要是利用Java Web技术构建一个简单的手机销售网站,既能体现Web在各功能模块开发中的应用,又能展示MVC的设计模式[2]及数据在MySQL数据库中的存储,体现了Java Web的优势。
1.系统设计采用的相关技术
1.1 Java
Java 是一种面向对象的编程语言,它保留了C++的优点,去除了C++较为复杂的多继承、指针等概念。它具有可移植性强、安全性高、简单易用等优点,可以用于编写各种类型的程序,如嵌入式系统应用程序、分布式系统程序、Web应用程序、桌面应用程序等[3]。
1.2 JSP技术
JSP 技术指在传统的HTML 网站中直接植入Java片段和JSP标志,从而形成的JSP文件。从JSP引擎中下载JSP文档,并将它编辑成可运行的种类,随后将原始申请上传输给Servlet,而Web服务器的组件也会自动调出Servlet 引擎,将Servlet 下载并运行。JSP 是一种Java Servlet,主要用于实现Java Web 应用程序的用户界面部分。
1.3 MySQL数据库
MySQL Server 是目前的主流数据库软件,使用JDBC 驱动程序连接MySQL 数据库[4]。MySQL Server是目前的主流数据库软件,它不仅支持众多编程语言,而且作为开源软件,服务器上传速度快、易操作。
1.4 Tomact服务器
Tomcat是一个Servlet容器,也是一个免费开源的工具。其中,WAR 文件是Tomcat 中的应用程序。Tomcat 部署比较简单,具有很强的灵活性,可以和其他软件一起使用,成功实现功能的多样化。
1.5 MVC框架
MVC(Model View Controller)是一种软件设计模式,这种模式把交互软件的组成分解为模型、视图、控制器三个部件[5]。
1)模型(Model)——用于存储数据的对象,封装核心数据、逻辑和功能的计算关系。
2)视图(View)——为用户展示模型数据、逻辑关系、状态信息。
3)控制器(Controller)——处理用户与软件的交互操作,负责具体的业务逻辑操作,接收用户的输入,将输入反馈给模型,实现对模型的控制。
无论何时发生了何种数据变化,控制器会将变化通知给所有的视图,以更新显示。
2 系统需求分析
2.1 系统可行性分析
1)技术可行性
技术可行性主要取决于能否实现系统所需的功能。本网站采用Java Web 技术、MyEclipse 软件进行设计,使用开源、免费的MySQL 数据库,完成数据的增、删、改、查等功能,其布局美观、操作简单。总体上来说,当前技术足以支撑网站的开发与应用,技术上是可行的。
2)经济可行性
经济可行性主要是通过网站的成本、收益方面进行分析。本网站需求简单易开发、易拓展。Java Web技术非常成熟且易于上手,MySQL体积小、速度快、免费、开源的,支持在Window 开发。总体成本低,不需要太大的开销就能完成此网站的设计,因此在经济因素方面具有较高的可行性。
3)操作可行性
手机销售网站界面简单易于操作。界面整洁、布局美观利于网站的普及,它所执行的操作是可行的。
2.2 系统需求分析
在电子商务的促动下,网络商城带给人们的便捷是有目共睹的。手机是商城中需求最大的一类电子产品,为了人们购物的方便,手机销售网站也应运而生。因此,本文将会使用Java Web技术设计一个手机销售网站。
2.3 系统整体功能分析
本网站主要包括注册/登录、手机浏览、手机查询、购物车、订单管理及退出等功能,网站整体功能模块结构如图1所示。
图1 网站整体功能结构图
3 网站的设计与实现
3.1 数据库设计与实现
为了存储数据信息,需要在数据库中创建用户信息表(user)、手机类别表(mobileClassify)、手机信息表(mobileForm)、购物车信息表(shoppingForm)、订单信息表(orderForm)等数据表。
user 表主要用于存储用户的注册信息,此表主要包含用户名、密码、电话、地址、真实姓名等字段,其中,用户名是主键,不允许重复,属性都是字符型,结构如表1所示。
表1 用户信息表(user)
手机类别表(mobileClassify)主要用于存储手机的类别,此表主要包含类别号、类别名等字段,其中类别号是主键,int 类型、自动编号,其他属性都是字符型,结构如表2所示。
表2 手机类别表(mobileClassify)
手机信息表(mobileForm)主要用于存储手机的基本信息,此表主要包含手机标识号、手机名、制造商、价格、介绍、图片、类别号(外键)等字段,其中手机标识号是主键。
购物车信息表(shoppingForm)主要用于存储购物车的商品信息,此表主要包含商品ID、用户名、商品名称、商品单格、商品数量等字段,其中商品ID是主键。
订单信息表(orderForm)主要用于存储订单信息,此表主要包含订单号、用户名、订单信息等字段,其中订单号是主键。
3.2 手机网站功能模块的设计与实现
1)主页模块
在浏览器中,首先进入主页面,在此页面中主要包括注册、登录、浏览手机、查询手机、查看购物车、查看订单、退出、返回主页等菜单栏需要用户注册或登录的提示信息,如图2所示。
图2 网站主页
2)注册模块
没有注册与登录,只能浏览手机信息,不能购买操作。在主页中,单击“注册”菜单跳转到注册页面供用户注册,如图3所示。注册时用户必须输入会员名、密码,否则无法完成注册。该模块由一个JSP 视图页面(register.jsp)、一个Servlet 控制器与一个JavaBean模型组成。其中,用户在此JSP页面上输入注册信息,提交给Servlet 控制器,由Servlet 程序创建一个Java-Bean对象存储用户的注册信息,再对用户名进行查重判断,如果是新用户,就把JavaBean 对象写入user 表中,并把注册结果的信息在此JSP页面中显示出来。
图3 用户的注册界面
3)登录模块
用注册账号与密码进行登录。系统会对用户账号和密码进行验证,如果用户名或密码错误,会提示“用户名或密码错误!”。若输入的用户名和密码与注册一致,则登录成功。
在主页中,单击“登录”菜单直接跳转到登录页面供用户进行登录。该模块由一个JSP视图页面(login.jsp)、一个Servlet 控制器与一个JavaBean 模型组成。其中,用户在此JSP页面上输入用户名与密码,提交给Servlet 控制器,由Servlet 程序连接数据库查询user 表中是否存在此用户名。如果存在,就创建一个Java-Bean对象存储此用户信息,并把登录是否成功的信息转发到此JSP 页面中反馈。如果不存在,Servlet 会把登录失败的信息反馈到此JSP页面中。
4)手机浏览模块
用户登录成功后,可点击“浏览手机”模块查看手机。此模块由3个JSP视图页面(lookMobile.jsp、page-Show.jsp 和mobileShow.jsp)、一个Servlet 控制器和一个JavaBean 模型组成。在lookMobile.jsp 页面中选择一个手机分类,提交给Servlet 控制器,由控制器查询数据库中的mobileForm表,并把查询结果存放在Java-Bean 对象中,再转发到pageShow.jsp 进行分页显示。在pageShow.jsp 页面中如果想查看某个商品的细节,可选择“手机详情”超链接到showDetail.jsp 页面中展示。
5)手机查询模块
登录成功后,可以根据手机版本号、手机名称或手机价格进行明确查询,也能实现模糊查询。本模块主要是通过2 个JSP 页面(searchMobile.jsp、pageShow.jsp)、一个servlet 控制器和一个JavaBean 模型实现。在手机查询页面searchMobile.jsp输入查询信息后,提交给Servlet 控制器,由控制器对数据库中的mobile-Form 表进行查询,并把查询结果存到JavaBean 中,再转发到分页显示页面pageShow.jsp进行显示。
6)购物车模块
登录的用户在“手机浏览”与“手机查询”模块中看到手机的详细信息后,可以把它放入购物车,在购物车里可以修改数量、或删除该商品,还可以继续购物或者清空购物车,如需下单,可点击“生成订单”便可以提交订单,完成购买。本模块主要是由1 个JSP页面(lookShoppingCart.jsp)、三个servlet 控制器和一个JavaBean 模型实现。在JSP 页面lookShoppingCart.jsp 中显示购物车中的商品,即数据库中购物车信息表(shoppingForm)中的数据,并提供修改购物车功能和生成的订单的form表单,提交到对应的Servlet控制器。如果是修改购物车中商品的信息,则由一个Servlet控制器负责更新shoppingForm表中的数据;如果是生成订单,由另一个Servlet控制器负责将此购物车中的商品信息转存到数据库的orderForm 表中,并同时删除用户购物车中的商品记录。
7)订单模块
登录的用户把商品加入购物车,提交订单后,在订单查询中,用户输入自己的会员ID,可以查看所有的订单信息,包括未付款与已付款订单。此模块主要由一个JSP 页面组成。在JSP 页面中,通过获取用户输入的订单ID,在数据库的订单信息表(orderForm)中进行查询相关记录,如果有,就读取相关信息并在JSP页面中显示此订单详细信息;如果没有,就显示无此订单的信息。
8)退出登录模块
已登录的用户在完成商品的查询、下单等操作后,可以在主菜单中单击“退出”菜单退出登录,并跳转到首页。该模块是由一个Servlet 控制器负责销毁用户的session对象,使登录失效,从而实现退出功能。
4 结束语
本文主要围绕手机销售网站的设计与实现进行展开,按照手机销售网站的需求分析、网站的设计与网站的实现等流程进行阐述,在展示网站功能的同时,也充分体现了MVC 设计模式在此设计开发过程中的应用。