1、基于JSP的网上购物系统设计 摘 要伴随着Internet的蓬勃发展,网络购物中心作为电子商务的一种形式正以其高效、低成本的优势,逐步成为新兴的经营模式和理念,人们已经不再满足用途信息的浏览和发布,而是渴望着能够充分享受网络所带来的更加多的便利。网络购物正适应了当今社会快节奏地生活,使顾客足不出户便可以方便快捷轻松地选购自己喜欢的商品。本系统便是尝试用JSP在网络上架构一个动态的电子商务网站,它是在Windows XP下,以Oracle为数据库开发平台,Tomcat网络信息服务作为应用服务器,采用JSP(Java Server Pages)技术开发的网上购物系统。他分前台部分和后台部分,前台部
2、分由用户使用,主要包括用户注册,购物车管理,订单管理,个人资料管理,留言板管理等功能;后台部分由管理员使用,主要包括商品管理,处理订单,用户信息管理,链接信息管理等功能。建立后的网站系统是一个动态、交互式、具有商品提供、系统管理、用户留言等功能的电子商务网站。关键字:JSP;Oracle10g;Tomcat;网上购物系统Online Shopcart Based on JSPAbstract:Along with the vigorous development of the Internet, e-commerce networks as a shopping center is a for
3、m of its highly efficient, low-cost advantages, gradually emerging as a business model and philosophy, there is no longer meet use and dissemination of information browsing, but a desire to bring the full enjoyment network more convenient. Internet shopping is being adapted to the fast pace of today
4、s society to live, so that customers can enjoy the convenience of fast and easy way to purchase their own like commodities. The system is trying to use JSP in a dynamic network of e-commerce websites structure, which is in Windows XP, Oracle10g for database development in platform, Tomcat applicatio
5、n server as a network information services, use JSP (Java Server Pages) technology development online shopping system. Prospects and the background of some of his hours, the prospects of users, including users registered, a shopping cart management, order management, personal information management,
6、 message board management functions; Background in part by managers, including commodity management, processing orders, customer information management, information management, and other functions links. After the establishment of the website is a dynamic, interactive, with commodities, systems mana
7、gement, voice mail, and other functions of the e-commerce website users. Keywords:JSP; Oracle10g;Tomcat;Online shopping system第1章 前言1.1系统设计的背景计算机软件技术的日新月异推动了社会信息化的进程,这也使得开发人员不得不学习新的技术以适应这种局面。在web应用领域,动态网页技术作为web系统开发的核心,越来越受到业内人士的青睐。目前主流动态网页技术主要是指ASP、PHP、和JSP。JSP(java server pages,java服务器页面)是SUN Micr
8、oSystems公司于1999年末在企业Java工具集中加入的一个新元素,它建立在Java Servlet之上。其设计目的是使开发人员,甚至非开发人员都能够高效率地创建Web内容。在过去几年里,使用JSP技术的开发人员飞速增加,它已经变成Web开发的主流技术之一。用JSP开发的Web应用程序是跨平台的,它不但可以在Windows下运行,也能在Linux以及其他各种版本的UNIX操作系统上运行。这一点是ASP不具有的。JSP将网页的逻辑功能设计与界面分离,同时它支持可重用的基于组件的设计以及它的跨平台特性,使Web应用变得简单,因此它在问世不长时间就超过了ASP和PHP,为许多大型网站所采用。1
9、.2系统设计的意义首先本系统是基于JSP技术的网上购物系统,能够有效地将产品管理系统和网上订购系统有效地结合在一起,通过网站实现企业的在线交易来销售自己的产品,进一步扩大市场份额。通过产品订购管理系统的网上交易,企业可以随时随地了解和掌握销售情况,实现产品销售统计分析同时又能有效地控制商场运营成本,开辟了一个新的销售渠道。第2章 系统概述2.1 JSP的技术原理2.1.1 JSP语言及其特点在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。JSP页面看上去象标准的HTML和XML页面,并附带
10、有JSP引擎能够处理和抽取的额外元件。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给用户。程序片段可以操作数据库、重新定向网页以及发送E-mail等,这就是建立动态网站所需要的功能。所有程序都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低。它基于强大的Java语言,具有良好的伸缩性,在网络数据库应用开发领域具有得天独厚的优势。JSP技术在多个方面加速了动态Web页面的开发:(1)将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚
11、本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格)。生成内容的 逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完
12、全可用性。(2)强调可重用的组件绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise JavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享 (3)采用标识简化页面开发Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。通过开发定制化标识库,JSP技术是可以扩展的。今后,第三
13、方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。(4)JSP能提供所有Servlets功能与Servlets相比,JSP能提供所有Servlets功能,它比用Println书写和修改HTML更方便。可以更明确地进行分工,Web页面设计人员编写HTML,只需留出空间让Servlets程序员插入动态部分即可。JSP技术能够支持高度复杂的基于Web的应用。(5)健壮的存储管理和安全性由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Ja
14、va技术的所有好处,包括健壮的存储管理和安全性。(6)一次编写,各处运行作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。2.1.2 Java及Java Servlets概述JSP技术是用JAVA语言作为脚本语言的,谈及JSP技术,少不了要对JAVA技术进行一些基本的介绍。Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览
15、器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也不断更新。 Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面。 它担当Web浏览器或其他HTTP客户程序发出请求,与HTTP服务器上的数据库或应用程序之间的中间层。Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持
16、Servlet的Java虚拟机。2.1.3 JavaBean简介JavaBean是一种基于Java的软件组件,JavaBean和Active控件一样,可以通过封装业务逻辑建立一整套可重复利用的对象库。JSP对于在Web应用中集成JavaBean组件提供了完善的支持,这种支持不仅能缩短开发时间(可以直接利用经过测试和可信任的已有组件),避免重复开发,也为JSP应用带来了更多的可伸缩性。JavaBean组件可以用来执行复杂的计算任务,或负责与数据库的交互及数据提取等。由于Java语言在这些方面所具有的特点和优势,使得基于它的软件JavaBean组件技术倍受人们关注。它的任务就是:一次编写,可以在任
17、何地方执行,可以在任何地方重用。JavaBean组件可以在任何地方重用包括了可以在应用程序、其他组件、文档、Web站点和应用程序构造器工具等多种方案中再利用。为了创建和使用Java软件组件,JavaBean被实现为一种独立于平台和结构的应用程序接口,它的实现可以忽略内部的结构和细节问题,只需定义其外部的特征及对外功能就行。其中,属性、方法和事件三种接口可以独立对外进行开发。2.2 相关服务器2.2.1JDK的安装和配置从官方网站下载该JDK后,进行默认安装,并进行相关的环境配置。 安装和配置完毕后,在“命令提示符”中输入javac,会出现如图2-1所示,则说明JDK安装和配置都是正确的。 图2
18、-1 javac调试界面2.2.2 Tomcat安装及配置直接运行下载的apache-tomcat-5.5.17.exe文件,按照一般的Windows程序安装步骤即可安装好Tomcat,安装时它会自动寻找JDK的位置。安装过程中需要选择一个文件夹作为Tomcat的安装目录。安装完成以后,添加一个Tomcat的环境变量,添加方法和JDK的环境变量的添加方法相同。 有一点需要注意的是由于Oracle的服务器启动后会占用8080端口,而tomcat服务器用的也是8080端口,所以需要更改tomcat的端口号,方法如下:到tomcat安装到的目录下找到conf文件夹,在里面找到context.xml,
19、用记事本打开后找到不是在下面的8080,把它改为其他端口即可,本项目改为8899;设置完毕后就可以运行Tomcat服务器了。Tomcat成功启动后,在浏览器中输入http:/localhost:8899,如果出现欢迎界面,则说明Tomcat安装成功。欢迎界面如图2-2所示。图2-2 Tomcat欢迎界面第3章 系统需求分析及总体设计3.1 需求分析作为一个网上购物系统.首先为了保证客户能够很方便的进行商品的选择,系统应该具有分类选择商品,查看热门商品,查看最高销量产品等功能,系统应该实现“购物车”的功能,用户可以把选中的商品放入“购物车”中,在选购完毕后再到“收银台”一起结账。同时,为了及时宣
20、传商家的各种优惠举措,系统还应该在首页显示购物网站最新的促销消息。在系统的后台,管理员能够管理商品,商品分类,新闻,新闻类别以及客户购买订单。为了更好进行服务,系统还应该支持用户投诉功能.因此可分析出网络商城主要功能包括:(1)前台部分由用户使用,主要包括用户注册,购物车管理,订单管理,个人资料管理,留言板管理(2)后台部分由管理员使用,主要包括管理员身份验证,商品管理,处理订单,用户信息管理,连接信息管理设计的目标是实现一个功能较为强大的网络商城系统,该系统能够实现用户的注册,简便的商品寻找和查看,购物篮式的商品选购,收银台统一结算,用户订单投诉等功能,在系统的后台,管理员可以处理用户订单并
21、配送获取,并可以对商品信息,商品类别,新闻,新闻类别,用户投诉等实现集中管理。网络商城主要实现如下目标:(1) 采用最新技术架构:B/S(浏览器/服务器)架构,实现真正的业务集中管理,零系统维护。(2) 人性化的设计:程序设计充分考虑使用方便,界面友好。(3) 信息发布,方式多样。(4)实现商品分类查询以及销售排行。(5) 为会员提供综合性,规范化服务。(6) 会员可随时查询自己的会员资料和修改个人信息。(7)用户的订单规范化管理。3.2 系统功能模块设计系统功能结构图如图3-1所示。图3-1 功能模块设计图从图中可以看出,网上购物系统可以分为前台和后台两个部分,前台部分由用户使用,主要包括用
22、户注册,生成订单,购物车管理,查看购物车,查看留言,订购产品,订单查询和发布留言7个模块;后台部分由管理员使用,主要包括管理员身份验证,商品管理,处理订单,用户信息管理,连接信息管理5个模块。3.3 数据库需求分析 数据库的设计通常是以一个已经存在的数据库管理系统为基础的,常用的数据库管理系统有MYSQL,SQL Server, Oracle等。我采用了Oracle10g数据库管理系统,建立一个用户名和密码都是ccut得用户。整个系统功能需要以下数据项:用户:用户名称、登录密码、用户真实姓名、性别、邮箱地址、联系地址、联系电话、注册时间。留言:主题id、作者姓名、Email、主题名称、留言内容
23、、发布时间。商品:商品id、名称、价格、图片路径、类型、简要介绍、存储地址、上传人姓名、发布时间、是否推荐。订单:订单号、用户名、订单日期、订单状态,总价。订单项:订单项号,订单号,商品号,数量。管理员:管理员id、管理员名称、管理员密码。公告:公告内容、公告时间。第4章 数据库结构设计4.1 数据库实现4.1.1 product_ccut (商品信息表)主要用于保存商品的基本信息,该表的结构如表4-1所示表4-1 product_ccut (商品信息表)列 名说 明类 型 ( 长 度 )备 注Productid物品idNumber (6)不允许空,主键productname物品名称Varch
24、ar 2(70)不允许空price物品价格number (10,2)不允许空type物品类型Varchar 2(20)不允许空intro物品介绍clob不允许空image图片路径Varchar2 (30)不允许空4.1.2 text_ccut(留言信息表)主要用于记录留言信息,该表的结构如表4-2所示。表4-2 text_ccut (留言信息表)字 段说 明类型(长度)备注Textid主题idnumber(6)不允许空,主键Username作者姓名Varchar2(20)不允许空EmailEmailVarchar2(50)不允许空Dattime发布时间Date(8)不允许空Textname主题
25、名称Varchar2(50)不允许空Textgut留言内容clob不允许空4.1.3 user_ccut(用户注册信息表)表4-3 user_ccut (留言信息表)字 段说 明类型(长度)备注Username用户名Varchar2(20)主键,不允许空EmailEmailVarchar2(50)不允许空password密码Varchar2(50)不允许空sex性别Varchar2(2)name真实姓名Varchar2(20)Phone联系电话Varchar2(12)4.1.4 manager_ccut(管理员信息表)主要用于保存管理员信息,该表的结构如表4-4所示。表4-4 manager_
26、ccut(管理员信息表)字 段说 明类 型 ( 长 度 )备 注Id管理员idInt(4)不允许空Admin管理员名称Varchar(30)不允许空Adminpass管理员密码Varchar(16)不允许空4.1.5 order_ccut(订单生成表)主要用于保存会员订单信息,该表的结构如表4-5所示。表4-5 oder_ccut(订单生成表)字 段说 明类型(长度)备注orderid订单idVarchar(50)不允许空,主键username 用户名Varchar(50) 不允许空totalPrice商品总价Number(10,2)不允许空orderDate订单日期Date不允许空State
27、订单状态Varchar2(20)4.1.6 orderitem_ccut(订单项表)主要用于记录某一订单表中所订购的商品的详细信息,该表的结构如表4-6所示。表4-6 orderitem_ccut (订单商品表)字 段说 明类型(长度)备注orderitemid订单项idNumber(6)不允许空,主键Orderid订单idNumber(6)不允许空,外键Productid商品idNumber(6)不允许空,外键Qty商品数量Number(5)不允许空4.1.7 Affiche_ccut(公告信息表)主要用于记录后台添加的公告信息,该表的结构如表4-8所示。表4-8 Affiche_ccut(
28、公告信息表)字 段说 明类型(长度)备注Test公告内容Test(16)不允许空Dattime公告时间Dattime(8)不允许空4.2 用JSP连接数据库在本系统中,需要多次连接数据库,而且这种连接是一项很消耗资源的操作,因此,在本系统中使用tomcat的链接池并且对数据库连接的部分写成了一个JavaBean以方便前期的测试工作。第5章 系统详细设计5.1 前台部分前台部分由用户使用,包括用户注册,购物车管理,订单管理,个人资料管理等几个部分。5.1.1 前台总体框架 (1)模块功能介绍用户管理:为了便于网站的管理,必须有一套完整的用户管理体系。该网站用户管理模块由用户注册,用户登陆,找回密
29、码3部分组成。订单查询:登陆用户可以通过订单号查询订单。购物车:所选商品须通过购物车进行保存,然后生成订单。修改个人资料:为了保护用户信息不受非法侵害,用户登陆后即可对个人的注册信息进行修改。留言板:用户可以查看和添加留言信息。(2)前台文件构架本网上购物网站的前台文件结构如图5-1所示。图5-1 前台文件结构图 (3)网站前台首页的运行结果如图5-2所示。图5-2 购物网站首页5.1.2 用户管理模块用户管理模块主要包括用户注册,登录及找回密码3个部分.(1)用户注册当用户第一次登录时首先要注册,成为会员后,才可以购买物品.用户可以通过单击首页的注册按键来打开注册页面进行会员注册操作,用户注
30、册页面的运行结果如图5-3所示.图5-3 用户注册页面 if(form.pasa.value=)alert(请输入你的用户名);form.username.focus();return false;if(form.password.value=) alert(请输入确认密码);form.password.focus(); return false;if(form.password.value!=form.password.value)alert(你输入的两次密码不一致); return false; 为了便于管理网站对用户的管理,在index.htm 用户注册页接收到的注册信息要经过严格的过滤,保证注册用户的唯一性,在提交表单后需要对数据表中的数据进行查询,如果没有找到,则在插入数据表时提示注册成功,否则提示用户以被占用,请重新注册,关键代码如下:String uid=request.getParameter(uid); 用户登录窗口设置在首页上,主要用来接收用户输入的用户名和密码,并更新用户在网站中的状态信息. 会员登录窗口的运行结果如图5-4所示。图5-4 会员登录窗口网站首页在用户第一次访问时会判断用户是否登录,未登录则显示用
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1