javaweb网上商城(适合新手)

本文档详细介绍了基于Web的网上购物商城的开发,旨在为新手提供指导。系统采用JSP技术,B/S架构和MySQL数据库,实现包括用户注册、登录、商品搜索、购物车管理等功能。通过社会、技术、操作可行性分析,证明该系统在技术和市场上都具有可行性。系统采用MVC设计模式,利用JS、jQuery和JavaBean等技术,提供用户友好的交互。通过对数据库的概念设计和表结构设计,确保了数据的有效管理。该商城旨在方便消费者在家中就能轻松购物,提高购物效率,减轻传统实体店购物的压力。
摘要由CSDN通过智能技术生成

摘要

随着科学技术的发展,网络在人们生活中的应用越来越广泛。人们越来越想在最短的时间内购买到自己所需的商品。但商品的种类繁多,给人们在繁忙的工作生活中的去实体店购物带来了很大的麻烦,于是网上购物便成了人们向往的事情。
网上购物系统的开发为人们带来了很大的方便,使他们足不出户就可以轻轻松松地买到自己想要的物品,既省时又省力。有效地缩短了物品流通发行环节,将广大消费者、生产者、销售者紧密地结合在一起,大大提高了物品流通率。它有着经营成本低、库存是虚拟的、用户检索方便、地域限制少等特点。
基于web的网上购物系统利用JSP技术,基于B/S框架和MYSQL数据库建立网上购物系统,开发的一个以方便消费者购物为主的网上购物系统。本系统根据身份的不同实现不同的管理模块,可分为管理功能,用户功能,管理员通过进入后台可实现对系统信息,购物信息,用户信息等模块的管理操作,用户通过注册成为系统会员,可登录系统实现对个人信息,购物信息,模块的管理操作。

关键词: web的网上购物系统 JSP技术 B/S框架 MYSQL 电子商务

Abstract

With the development of science and technology, the application of network in people’s life is more and more extensive.More and more people want to buy the goods they need in the shortest time.
However, the variety of goods brings great trouble to people’s shopping in physical stores in their busy work and life, so online shopping has become a thing that people yearn for.
The development of online shopping system has brought great convenience to people, so that they can easily buy the things they want without leaving home, which saves both time and effort.It effectively shortens the link of circulation and distribution of articles, closely combines consumers, producers and sellers, and greatly improves the circulation rate of articles.
It has the characteristics of low operating cost, virtual inventory, convenient user retrieval and less geographical restrictions.
Web-based online shopping system using JSP technology, based on B/S framework and MYSQL database to establish online shopping system, the development of a convenient consumer shopping based online shopping system.This system according to the different implementations of the identity of the different management module, can be divided into management functions, the user function, the administrator can be realized by entering into the background of system information, shopping information, such as user information module of management operation, the user through registered membership system, can login system implementation of personal information, shopping information, the module of management operation.

Key words: Web online shopping system JSP technology B/S framework MYSQL e-commerce

1、课题背景目的

1.1 课题背景

随着Internet的普及和电子商务的兴起,网上购物是Internet电子商务在销售行业发展的必然结果,这种新型的购物形式,与传统利用实体店进行销售的方式相比拥有许多优势:一是降低了销售成本;二是利用网络作为交易平台,改变传统的交易方式,使得交易活动不受空间和时间的限制;三是信息的传递更迅速灵活,新的商品信息上传后,客户可以立即看到,交易马上可以从网上进行,从而大大提高了交易的效率。正是由于这些优势,网上购物才能得以迅速地发展。网上购物系统的主要功能是利用网站作为交易平台,将商品的一些基本信息以网站的形式发布到Internet中,客户可以通过Internet登录购物网站来查看商品信息并提交订单订购商品,实现在线交易。

1.2 课题目的

在各行各业竞争日益激烈的今天,提高工作效率和工作质量是每个企业必须面临并且必须解决的重大课题。
有网上购物商城就不需要消费者到实体店去寻找自己需要的商品,而只需在自家的电脑前输入查询条件,或通过类别查询,快速而准确的找到需要的商品,大大加快了查询速度。
网上购物商城不仅可以大量减少人力、物力,降低了成本,而且突破了时间和空间的限制,使得商品交易活动可以在任何时间、任何地点进行,实现24小时营业,不需要营业员,网上购物可以被设置成一个自动售货机。同时,网上购物商城更容易开拓全球市场从而大大提高了效率,对推动网上购物商城未来的发展有着一定的实际意义。
鉴于互联网的优势以及对国内外相关网上购物网站现状的研究分析,我决定以基于Web的《网上购物商城开发作为我的课程设计主题。立足于设计一个在网络平台上运行的集购物、支付和配送等功能于一体的网上购物,以小小的力量推动中国互联网的发展。

2、可行性分析与技术分析

2.1 可行性分析

2.1.1 社会可行性分析

随着计算机技术的发展和网络人口的增加,网络世界也越来越广博,越来越丰富,网上购物已经成为网上的一股潮流。《网上购物商城》系统主要目的是进行网上销售产品,并且严格按照国家法律法规来进行研究和实践,并无法律和政策方面的限制。

2.1.2 技术可行性分析

本系统采用的是JSP、Servlet和MySQL开发,Windows XP Professional操作系统,用Hbuilder进行前台网页界面设计、采用JDBC方式与后台数据库进行连接,完成数据的添加、修改、删除、查询等功能。由于JSP、Servlet功能强大,而MySQL灵活易维护在开发方面具有方便快捷、使用灵活的特点,以及目前的广泛实际应用,因此使用JSP、Servlet、MySQL是开发轻平台的最佳组合从而说明本系统在技术方面可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。

2.1.3 操作可行性分析

目前,大多数计算机都能运行该系统,该系统的安装、调试、运行不会改变原计算机系统的设置和布局,并且系统界面简单,提示信息完整,由相关人员指导便能够方便的操作此软件。

2.2 技术分析

2.2 .1 JS

JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。它最初由网景公司(Netscape)的Brendan Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。
avascript语言与Java语言在语法上比较相似,但随着对Javascript的深入了解后你会发现,它们说到底是两种语言!

2.2.2 JQurey

jQuery是一个兼容多浏览器的javascript框架,核心理念是write less,do more(写得更少,做得更多)。jQuery在2006年1月由美国人John Resig在纽约的barcamp发布,吸引了来自世界各地的众多JavaScript高手加入,由Dave Methvin率领团队进行开发。如今,jQuery已经成为最流行的javascript框架,在世界前10000个访问最多的网站中,有超过55%在使用jQuery。
jQuery是免费、开源的,使用MIT许可协议。jQuery的语法设计可以使开发者更加便捷,例如操作文档对象、选择DOM元素、制作动画效果、事件处理、使用Ajax以及其他功能。除此以外,jQuery提供API让开发者编写插件。其模块化的使用方式使开发者可以很轻松的开发出功能强大的静态或动态网页。

2.2.3 JavaBean

JavaBean 是一种Java语言写成的可重用组件。为了编写JavaBean,类必须是特定的和公共的,并且具有无参数的构造器。JavaBean通过提供一个符合一致设计模式的公共方法公开内部域的成员属性。众所周知,属性名与此模式相一致,其他java类可以通过自省机制发现和操纵这些JavaBean的属性。用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。JavaBean可分为两种:一种是有用户界面的JavaBean;还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的JavaBean。JSP通常访问的是后一种JavaBean。JavaBean是可复用的平台独立的软件组件,开发者可以在软件构造器工具中对其直接进行可视化操作。一个JavaBean由3部分组成:属性、方法、事件。

2.2.4 MVC

Servlet是一个基于JAVA技术的Web组件,运行在服务器端,由Servlet容器所管理,用于生成动态的内容,Servlet是平台独立的Java类,编写一个Servlet实际上就是按照Servlet规范编写一个Java类,Servlet被编译为平台独立的字节码,可以被动态地加载到支持 Java技术的Web服务器中运行。Servlet容器也叫Servlet引擎,是Web服务器或者应用服务器的一部分,用户在发送请求和响应之上提供网络服务,Servlet不能独立运行,必须被部署到Servlet容器中,由容器实例化和调用Servlet的方法,Servlet容器在Servlet的生命周期内包含和管理Servlet。Servlet是单实例多线程的运行方式,每个请求在一个独立的线程中运行,提供服务的Servlet实例只有一个Servlet 具有可升级性,能响应更多的请求,因为Servlet容器使用一个线程而不是操作系统进程,线程占用的资源要小,Servlet使用标准的API,被更多的Web服务器所支持。Servlet使用Java语言编写,拥有更多的Java程序语言的优点,Servlet可以访问Java平台丰富的类库,使得各种应用的开发更为容易,Servlet容器给Servlet提供额外的功能。

2.2.5 JSP

JSP全称Java Server Pages,是一种动态网页开发技术。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Servlet和JSP配合才能完成。JSP具备了Java技术简单易用的特点,完全地面向对象,具有平台无关性、主要面向因特网且安全可靠。简单的理解,JSP就是HTML页面+Java代码,但是JSP中能写的内容还不止这些,可以包含HTML标签,CSS,JavaScript,JAVA代码,EL表达式,引入并使用其他标签库,例如JSTL标签库、Struts 2标签库等。浏览器可以直接运行HTML页面,但是不能直接运行JSP页面,JSP是需要在拥有JSP引擎的服务器中运行的,例如Tomcat服务器。所以JSP是运行在服务器端的,运行完之后,把动态生成的HTML页面再使用IO流写回给浏览器,浏览器接收并且解析后再呈现出来效果。JSP的生命周期分为编译阶段,初始化阶段,执行阶段,销毁阶段。

2.2.6 JDBC

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名。
有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。
综上所述工作原理如下:
在这里插入图片描述

3、 系统需求分析与设计

3.1 系统需求分析

传统的购物一般都是直接去实体店购买商品,但是在现下这快速的生活环境中,人们很少有时间去饰品店购物,为此开发了网上购物系统,可以使人们在家也可以买得自己需要的商品,一边面他可以让人们足不出户就可以买到想要的商品,另一方面他也缓解了人们的工作压力。该系统采用的模型是典型的网上购物实践中最为普遍的电子商务对客户(B2C)模式,主要包括会员注册、订单管理、购物车、搜索、支付等基本功能。此外,本系统也将实现商城销售系统的后端管理,包括商品的添加、订单的处理等功能。本系统完全基于JSP技术,在系统的设计与开发过程中严格遵守软件工程的规范,运用软件设计模式,从而减少系统模块间的偶合,力求做到系统的稳定性、可重用性和可扩充性。

3.2 系统用例设计

本次设计的网上购物系统主要设计两个用例特权分别是用户模块(前台)和管理员模块(后台),具体如下所示:
用户模块:
①用户管理:注册会员、登录、退出、修改密码;
②分类显示:显示所有1级和2级分类;
③商品显示:按分类查询商品、通过关键字搜索商品、查看某件商品的详细等;
④购物车管理:向购物车中添加商品、修改购物车中商品数量删除购物车中商品;
⑤订单管理:通过购物车中图书生成订单、查看我的订单、查看某个订单的详细、订单支付、确认收货、取消未付款订单。
用户用例图如下所示:
在这里插入图片描述
管理员管理模块:
①管理员管理:管理员登录,添加新闻;
②分类管理:查看所有分类、添加1级分类、添加2级分类、修改1级分类、修改2级分类、删除1级分类、删除2级分类;
③商品管理:按分类搜索商品、添加新商品、查看商品详细信息、编辑商品、删除商品以及发布新闻等;
④订单管理:按状态搜索订单、查看订单详细信息、取消订单、发货;
用户用例图如下所示:
在这里插入图片描述

4、系统总体设计与数据库设计

4.1 系统总体设计

本次网上购物商城的设计包含了前端模块和后端模块,然后根据前端和后端两部分的功能分析,具体分析如下:
网上购物系统的前台功能模块分为:
1、商品展示模块
商品展示模块主要是向用户展示网上商店的商品,主要分为商品搜索和商品分类两个子模块。用户可以通过商品搜索直接查询自己想要了解的商品,也可以通过商品分类查找某一类的商品。
2、新闻展示模块
新闻展示模块是管理员发布的与网上商城系统相关的公告以及新品信息,可以包括系统的使用或者最新的优惠活动等。用户登录系统后,可以查看公告信息,以此来最快的了解系统。
3、购买商品模块
购买商品模块主要是完成用户在网上的购物的流程。购买商品模块分为加入购物车和生成订单两个子模块。
4、用户管理模块
用户管理模块分为用户注册、用户登录、用户修改信息三个子模块。
网上购物系统的前端模块功能如图3-1所示:
在这里插入图片描述
用户进行购买商品时,先进行注册,然后进行登录,登录系统后用户可以浏览商品,把需要购买的商品加入购物车,把购物车的商品生成订单。用户购买商品时序图如图3-2所示
在这里插入图片描述

网上购物系统的后台功能模块分为:
1、分类管理模块
分类管理模块主要是实现管理员对系统分类的管理,使得用户可以按照分类挑选商品,方便了用户的挑选,管理员通过这个模块可以向系统添加新的分类,查看已有的分类,修改已有的分类,删除旧的分类。
2、商品管理模块
商品管理模块主要是实现管理员对系统商品的管理,该模块对整个系统至关重要。管理员通过这个模块可以向系统添加新的商品,查看已有的商品,修改已有的商品,删除旧的商品。
3、订单管理模块
订单管理模块主要是实现管理员对系统订单的管理,管理员通过这个模块可以查看用户下的订单并对订单做出相应的处理。
4、新闻公告管理模块
新闻公告管理模块主要是实现管理员对系统公告的管理,这样用户进入系统后可以通过浏览公告获取网上购物系统的最新资讯,并且可以在最短的时间内对系统有基本的了解。管理员通过这个模块可以向系统添加新的公告,查看已有的公告,修改已有的公告,删除旧的公告。
网上购物系统的后端模块功能如图3-3所示:
在这里插入图片描述

4.2 数据库设计

4.2.1 数据库概念设计

在网上购物商城的数据库设计中,包含了管理员、用户、商品,购物车,新闻五个实体,每个实体都有自己的的属性,管理员实体的属性有:管理员编号、管理员姓名、登录密码,用户实体的属性有:用户编号,用户姓名,登录密码,商品实体的属性有:商品编号,商品名,商品价格,商品库存量,商品照片,购物车实体属性有:购物车编号,购买商品编号,购买商品名字,订单编号,购买商品的数量,价格,商品类型,商品照片,新闻实体属性有:新闻编号,新闻名字,新闻内容,发布时间,而各个实体之间有一定的关系,具体的描述由下方E-R图表现:

在这里插入图片描述

4.2.2 数据库表

网上购物商城系统一共包括五张表,他们分别是管理员表、用户表、商品表、购物车表和新闻表。具体数据库表描述如下:
1)管理员表(admin):用来存储管理员的信息。它包含的字段有:adminID、adminName、adminPassword。管理员实体图如下图所示:
在这里插入图片描述
管理员表具体设计如下表所示:
在这里插入图片描述
2)用户表(user):用来存储用户的信息。它包含的字段有:userID、userName、userPassword。用户实体图如下图所示:
在这里插入图片描述
用户表具体设计如下表所示:
在这里插入图片描述
3)商品表(goods):用来存储商品的信息。它包含的字段有:id、name、price、stock、img。商品实体图如下图所示:
在这里插入图片描述
商品表具体设计如下表所示:
在这里插入图片描述
4)购物车表(cart):用来存储购物车的信息。它包含的字段有:id、gid、price、name、price、type、img。购物车实体图如下图所示:
在这里插入图片描述
在这里插入图片描述
5)新闻表(news):用来存储新闻的信息。它包含的字段有:id、name、time、body。新闻实体图如下图所示:
在这里插入图片描述
新闻表具体设计如下表所示:
在这里插入图片描述

5、项目环境搭建与项目目录结构

5.1 项目环境搭建

本次所开发的项目主要运用的开发环境如下所表3-6所示:
在这里插入图片描述

5.1.1 数据库环境

数据库你选用MySQL6.0+数据库可视化工具SQLyogent+数据库辅助工具Navicat,是开发起来更加方便。
MySQL是一个关系型数据库管理系统,它是由瑞典的MySQL AB公司开发的,它将数据保存在不同的表中,这样将大大增加了速度并提高了数据的灵活性。并且由于MySQL具有强大的功能,速度快,成本低,特别是开放源代码的特点,受到很多人的喜爱。而SQL语言是有一种标准化的语言,使得这些数据存储、更新、删除的更加的方便快捷。
MySQL是建立的基础已经用在很多高要求的环境当中,它已经有了一套很实用的例程,本次设计的毕业系统中采用MySQL是为了更有效直观的表现系统中的某些功能。MySQL具有很多新的特性:1、表和索引的分区;2、行级复制;3、可以插入API;等。
在本系统的设计中,MySQL主要是录入房间的信息,以及用户的信息,在录入信息的过程中,如果出现什么需要改动的地方,通过更改数据库里的内容可更快捷方便。

5.1.2 Eclipse EE开发环境

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具等。在这次设计中我们主要用的开发工具是Eclipse EE。首先要进行如下配置,可以更加方便我们编写程序。
源码统一采用utf-8编码方式
Windowpreferences输入encoding—>workspace 修改编码为utf-8
jsp->修改编码为utf-8
配置代码提示
java - editorcontent Assist 在右面配置 提示时间50毫秒
字体大小
generalapperencescolor and font 展开basic –>text font 修改字体大小

5.2 项目目录结构

年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为Sun公司J2EE平台的设计模式,并且受到越来越多的使用ColdFusion和PHP的开发者的欢迎。
MVC是一种设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务.
(1)模型
模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
(2)视图
视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services.如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
(3)控制器
控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何的处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。
综上所述,MVC的处理过程是首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。具体目录如图3-10所示:
在这里插入图片描述
其中Dao包主要用来保存Dao接口,dao.impl主要用来保存dao包的实现类,entity保存实体类,servlets保存servlets信息。

6、功能设计与实现

6.1 .注册功能

用户在进入系统后,即可在页面的右侧看到注册按钮,点击注册按钮,即可出现注册表,需要填写全部的信息才能够注册,用户注册需要填写相应的信息,主要包括用户名、密码、确认密码、以及手机号码。如果已经有用户注册了该用户名那么注册会失败,用户完成不了注册,需要用户重新再填写注册的信息,如果两次输入的密码不一定,便会提示密码输入的密码不一致,输入的手机号应该是大陆的手机号,如果不是,则提示输入的格式错误。当以上信息填写正确后,勾选我已阅读并同意《天猫用户注册协议》并且点击注册按钮便会注册成功。如果什么信息都没填写就会提示请完善信息在注册,这样可以防止SQL注入,增加数据库的负担。注册界面如图所示:
1)运行界面如图:
在这里插入图片描述
2)设计介绍
用户在进入系统后,即可在页面的右侧看到注册按钮,点击注册按钮,便会跳到register.jsp,即可出现注册表,需要填写全部的信息才能够注册,用户注册需要填写相应的信息,主要包括用户名、密码、确认密码、以及手机号码。当用户在请输入用户名的文本框时,便会调用KaTeX parse error: Expected 'EOF', got '#' at position 3: ("#̲user").blur进行用户…("#pass").blur进行密码格式的判断,如果格式符合要求便可以设置。同时在请确认密码框中调用KaTeX parse error: Expected 'EOF', got '#' at position 3: ("#̲pass1").blur进行判…("#phone").blur进行手机号的格式限制和判断,如果输入的格式不符合要求,则提示输入的格式错误。当以上信息填写正确后,勾选我已阅读并同意《天猫用户注册协议》并

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值