文档库 最新最全的文档下载
当前位置:文档库 › JavaWeb动态网页实习报告

JavaWeb动态网页实习报告

JavaWeb动态网页实习报告
JavaWeb动态网页实习报告

动态网页设计实习报告桂林理工大学信息科学与工程学院

课程设计题目:网上购物系统

班级:计算机08-3班

报告人姓名:赵子斌

学号:1080417311 承担角色:组长

同组其他成员:于浩洋左恩坚

实验指导教师:陆秋

实验地点:教1楼1313机房

完成起止日期:2011/11/15-2011/12/2

一、系统设计概述

1.1 系统开发背景

1.1.1网上购物的发展

近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念。

网上购物系统作为B2B,B2C(Business to Customer,即企业对消费者),C2C (Customer to Customer,即消费者对消费者)电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。本文主要考虑的是如何建设B2C的网上购物系统。

网上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些比经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或EDI交易。这种全新的交易方式实现了公司间文档与资金的无纸化交换。

1.2.1网上购物系统的现状

目前在国内PHP与ASP应用最为广泛。而JSP由于是一种较新的技术,国内采用的较少。但在国外,JSP已经是比较流行的一种技术,尤其是电子商务类的网站,多采用JSP。

采用PHP的网站如新浪网(sina)、中国人(Chinaren)等,但由于PHP本身存在的一些缺点,使得它不适合应用于大型电子商务站点,而更适合一些小型的商业站点。

首先,PHP缺乏规模支持。其次,缺乏多层结构支持。对于大负荷站点,解决方法只有一个:分布计算。数据库、应用逻辑层、表示逻辑层彼此分开,而且同层也可以根据流量分开,组成二维阵列。而PHP则缺乏这种支持。还有上面提到过的一点,PHP提供的数据库接口支持不统一,这就使得它不适合运用在电子商务中。

ASP和JSP则没有以上缺陷,ASP可以通过Microsoft Windowsd的COM/DCOM获得ActiveX规模支持,通过DCOM和Transcation Server获得结构支持;JSP可以通过SUN Java 的Java Class和EJB获得规模支持,通过EJB/CORBA以及众多厂商的Application Server 获得结构支持。

三者中,JSP应该是未来发展的趋势。世界上一些大的电子商务解决方案提供商都采用JSP/Servlet。比较出名的如IBM的E-business,它的核心是采用JSP/Servlet的WebSphere;西方另外一个非常著名的电子商务软件提供商,Intershop。它原来的产品Intershop1 2, 3, 4占据了主要的电子商务软件份额。它们都是通过CGI来提供支持的。但去年10月后它推出了Enfinity,一个采用JSP/Servlet的电子商务Application Server,而且声言不再开发传统软件。

总的来说,ASP,PHP,JSP三者都有相当数量的支持者,而这三者也各有所长,在开发过程中,我们应该根据实际的需要来使用最合适的技术,本系统则采用较新的jsp技术,一方面jsp的安全性和跨平台性比较好,另一方面,我也希望能从开发该系统的过程中,深入学习一下这门编程语言。

1.2系统实现的任务

现在流行的网上购物系统不仅要有漂亮的网页,更要有严谨的规划,注重每一个细小的环节。这样才能使得在电子交易时避免不必要错误发生。我们将使用HTML、JSP等技术来编辑网页,并运用JDBC技术把数据库和动态网页相关联。传统的管理信息系统信息获取方法是由专业文字录入人员将信息输入到管理系统的数据库中,这种方法在数据量不大时有很多的应用场合。当数据量比较大,并且有较强的专业性时,录入的费用和出错的可能性都相应上升。本设计在实际应用中的解决方案是建立网站, 以及自己的数据库,使得所需商品信息可以及时的保存、更新,可以更好的及时了解商品买卖的情况。同时添加了留言板和bbs 的功能,可以更好的让卖家与买家进行交流与沟通。

1.3系统的开发意义

Internet的发展,为改变传统的商业运作模式提供了一种技术上的可行性的方案:利用Internet的技术和协议,建立各种企业内部网Intranet,企业外部网Extranet,通过廉价的通讯手段,将买家与卖家、厂商和合作伙伴紧密结合在了一起,消除时间与空间带来的障碍,从而大大的节约了交易成本,扩大了交易范围。而在实际的生活中,这种方案已经被广泛的运用到了实际的商业活动中了,人们将这种交易模式称为:电子商务。

当今比较流行的网上购物系统国外有“淘宝(https://www.wendangku.net/doc/da18736955.html,)”,国内有“当当(https://www.wendangku.net/doc/da18736955.html,)”。它们都是相当优秀的电子商务网站,对其他的网站提供了良好的典范。设计中可以学习参考他们的思想,了解和熟悉整个网站的开发流程及完整的电子商务网站应有的功能和注意事项。

设计和完成一个电子商务网站的,将会牵涉到许多技术上的问题,如:动态网页制作技术的,后台数据库的设计和管理,通过实际的制作个网站,可以避免纸上谈兵,在实践中掌握上述技术的使用。

1.4系统的开发环境

开发环境:windows+Java jdk1.6

开发工具:MyEclipse6.6

开发服务器:tomcat6.0

客户程序硬件要求:

具有Pentium III 处理器且满足以下要求的计算机:

最低64 MB 内存、最小2.1 GB 硬盘、鼠标、键盘

服务器硬件需求:

具有Pentium III 处理器且满足以下要求的计算机:

最低256MB 内存、最小8 GB 硬盘、鼠标、键盘

1.5 参考资料

Servlet/jsp 学习笔记清华大学出版社

Java web 开发实践教程清华大学出版社

二、系统需求分析

随着Internet的不断普及,人们对于互联网技术的要求已不单单是浏览一下网页,收发电子邮件, 中国加入世界贸易组织,外国物流企业进一步进入中国物流市场,给中国带来了新的物流服务理念,管理模式,以及新的物流技术与装备,对中国物流的发展是一个巨大的推动。在这个竞争和效率并存的社会,人们有很强的时间观念,信息社会的高科技,商品经济化的高效益,使网络的应用已普及到经济和社会生活的各个领域。在这一前提下,电子商务应运而生了。电子商务是基于互联网、以交易双方为主体、以银行电子支付和结算为手段、以客户数据为依托的全新的商务模式,它可以使商家与供应商更紧密地联系起来,更快地满足客户需求,也可以让商家在全球范围内选择最佳供应商,在全球市场上销售产品。网站是为了方便用户进行网上购物,提供便捷的交易平台,通过电子商务网站的建设以实现对商业零售提供信息化管理

2.1网站的可行性分析

随着计算机技术的发展和网络人口的增加,网络世界也越来越广博,越来越丰富,电子商务已经成为网上的一股潮流。我们相信要不了太长有时间,顾客就可以在网络世界上获得他们在现实世界上可以获得的所有商品和服务。

可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行性的分析是非常必要的,也是很重要的,经过最初的设计目标和进行的市场调查得出以下四点的可行性分析:

(1)经济可行性:该平台设计只是作为我们小组的课程设计,又因为我们的设计能力有限,其功能还不能完善,所以没有什么经济效益可谈。

(2)技术可行性:运用MVC模式,JSP+Servlet的技术已经较为成熟。

(3)运行可行性:该系统需要搭建JVM即JAVA虚拟机和Tomcat环境,在此环境下系统,并且在正确连接数据库后可以正常运行。

(4)法律可行性:该平台是作为毕业设计与商业无关,又因为是自主开发设计,因此不会构成侵权,在法律上是可行的。

通过以上的可行性分析,我将采用JSP+Servlet相结合的技术,运用My SQL数据库对网站进行建设。

2.2需求分析

网上商店系统主要是实现网上选购、购买、产生订单等功能的系统。一个典型的网上商城一般都需要实现商品信息的动态提示、购物车管理、客户信息注册登录管理、订单处理等模块。

根据网上商店的基本需求,本系统需要完成的具体任务如下:

A.产品查询: 当客户进入网上商店时,应该在主页面中分类显示最新的产品信息,

以供客户选择所需产品,同时也应该提供按照产品名称,或者产品信息快速查

询所需产品信息的功能。

B.购物车管理:当客户选择购买某产品时,应该能够将对应产品信息,如:价格、

数量记录到对应的购物车中,并允许客户返回产品查询页面,选择其他商品,

并添加到购物车中,当对应的购物订单生成后,应该能够自动清除以生成订单

的购物车中的信息。

C.订单处理:对应客户购买商品信息的需求,在确定了所购商品的价格、数量等

信息后,提示用户选择对应的送货方式及付款方式,最终生成对应的订单记录,

以便于网站配货人员依据订单信息进行后续的出货、送货的处理。

D.会员注册:为了能够实现图书商品的购买,需要管理客户相关的联系方式、送

货地点等相关的信息。

E.反馈:用户可以对商品,网站的评价,和与网站联系。进入BBS进行交流。

三、系统设计的基本原理和采用的主要方法与技术

3.1开发技术的选择

合理的选择开发技术,对于网站开发的完成情况有着非常重要的影响。要开发一个网站,首先要选择一个动态网页开发技术。当前比较流行的动态网页开发技术有JSP、ASP、PHP。它们的特性比较如下:

这三种都是在传统的HTML代码中,利用HTML标签的扩展,构成页面。不难看出,JSP 的综合实力是最强的,尤其是在安全性和跨平台性两个方面,比其他的两种技术都要好,因此,最后我们选择基于Java的JSP技术作为动态网页的开发技术。

3.2系统的主要架构及开发模式

系统的建设关键在于其所使用的架构,而网上购物这种基于web的系统,传统的c/s 架构已经不能满足大量用户的访问和操作,b/s基于浏览器的架构则是目前网络系统应用的主流,它将大量的数据处理工作交给服务器端来处理,客户端只用通过普通的IE浏览器即可访问系统,方便快捷而且利于系统的更新和维护,java语言在该方面更是得天独厚,j2ee 规范的出现则使系统的开发更加规范,层次更加清楚,更利于对复杂事务的处理,而且在安全性方面也做的更好。基于mvc的开发流程则使开发过程更加清晰明了,利于做一些复杂的逻辑实现,从而节省了开发周期和开发成本。

3.2.1基于B/S的体系结构

在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由Web Server完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。这种三层体系结构如图3.1所示。

图3.1 B/S三层架构示意图

这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也把技术维护人员从繁重的维护升级工作中解脱出来。由于客户机把事务处理逻辑部分分给了功能服务器,使客户机一下子"苗条"了许多,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分,所以维护人员不再为程序的维护工作奔波于每个客户机之间,而把主要精力放在功能服务器上程序的更新工作。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。

3.2.2 基于MVC的应用开发模型

在传统的基于Web的应用系统中,例如ASP,CGI等,通常开发者将业务逻辑,数据逻辑、展示逻辑等混杂在一起,在同一个界面面里既进行后台数据库的访问和操作,同时还包含业务流程和页面表示。这样编写出来的程序,既不利于程序员对业务代码的调试,同时也不利于编辑人员进行交互页面的设计。同时系统也不具备可扩展性,当我们要在现有业务上进行扩展的时候,通常无法借助于现有的资源和应用,而只能够重新编写,大大增加了投资,延长了系统上线的时间,失去了竞争市场的优势。

在本网上购物系统中,将采用通行的MVC模式来构建应用。这种结构解决了前面所述的所有问题,在我们的应用集成网络中,通过企业级高端J2EE应用服务器实现MVC开发模型。MVC的逻辑图如下:

图3.2应用服务器之上采用MVC开发的逻辑示意图

图3.3 MVC业务流程示意图

通过这种方案,我们可以迅速地实现整个业务,其优势和特点如下:

Model(模型)层:由EJB组件来实现,EJB将具体的业务封装在组件内部,具备安全、高性能、可重用等优秀的特征。

View(视图)层:由JSP、HTML组成。这一层次的特点是能够真实地展示和客户交互的界面,具备可描绘的功能。同时能够嵌套动态数据,可以进行动态页面的展示。同时可以方便地进行客户端的个性化定制。根据每个客户的需求来展示不同风格的界面。

Controller(控制器)层:是非常重要的一层,这一层是连接View和Model的纽带,同时也是将这两层进行最大限度分离的工具。通常由Servlet来实现,Servlet和JSP虽然同样都属于页面展示工具,但分属两层。主要在于JSP以脚本语言的形式存在,它的主要优势是进行动态数据的Web展示,而Servlet是一个完整的Java程序,进行业务的调用和流程的处理是它的长处。

通过这种模型的建立,我们的应用系统具备了非常好的性能和可扩展性。将业务组件和展示页面进行分离,并通过Controller来描述调用关系,一方面可以提高效率,另一方面也可以增加系统扩充的能力,使我们的系统可以进行最快速度的业务扩展,以满足不同用户、不同阶段、各种各样的业务需求。

四、本人在此次实习负责的系统模块设计

在本次的网站开发过程中,我主要负责网上购物系统的用户注册,购物车的实现,后台商品的管理模块,用户管理的模块的实现。

4.1功能分析

经过前期的深入调查和研究,总结出该平台需要完成的一些具体功能,分析如下:用户管理能够完成用户基本信息录入的注册和用户基本信息的修改。

管理员管理能够完成管理员对网站的商品信息管理(商品添加、商品修改)。

搜索功能能过电子商品的编号进行搜索。

查询功能能够通过查看购物车对所选商品进行确定、挑选。

购物车模块存放购买的商品。

4.2 平台功能模块的设计分析

在平台功能的分析基础上,得到本平台的功能模块图如下:

4.3 系统流程分析4.3.1前台购物流程

图4.2 前台购物流程图4.3.2

图4.3 注册功能流程图

注册的具体实现为:

点击主页面的用户注册选项后,会弹出一个注册信息页面,用户需要如实填写用户名,密码,E_mail,地址,电话,真实,姓名等各项信息,提交后,系统进行检测判断该用户名是否已经注册过,如果已经存在则弹出新页面,提示用户该用户名已经注册过,如果没有则进行下一步判断,用户输入的两次密码是否一致,然后依次往后判断用户所填写的各项信息是否符合要求,直到所有信息均正确无误,系统将该用户注册信息写入会员表即user并提

示用户注册成功,用户登陆后,就可以进行有效的购物了。

4.3.3用户登录流程

用户登录,首先要有一个提供用户登录的表单。用户登录的表单应该嵌入整体的结构当中。在实际的应用中,可以这样设计,如果用户没有登录,则在页面中显示用户登录的选项,用户登录后,则可隐藏用户登录的选项而代之以用户的基本信息。

首先,用户要有一个用户名和密码。商务网站需要很高的稳定性和安全性,因此对用户名不允许使用恶意的代码作为用户名。同时对密码也要求保密,将密码加密后再存入数据库。另外,一个电子商务网站。用户的真实姓名是必不可少的。除此之外还需要用户的性别、E-MAIL、电话号码等。

4.4用户登陆流程图

4.3.4商品管理流程

图4.5商品管理流程图

在该功能里管理员可以进行不需要的商品的删除,在这里管理员当然也可以浏览到商品的详细信息。并且比普通用户在浏览商品界面里所看到的商品信息多一个该商品在数据库中的ID。

4.3.6购物车流程

购物车具体的实现可采用这种形式:定义一个购物车的类(Class)。

1.列出商品的列表,使用户能够自由选择所需要的商品。

2.当用户在点击“添加到购物车”的链接时,执行如下功能:

检查用户购物车类是否存在。如不存在,则建立,并注册这Session变量;在有用户购物车类存在的情况下,检查该类中是否有该商品。如存在,则商品数量相应加1;如没有该商品,则将该商品添加到该类中。

图4.7购物车流程图

五、系统功能的具体实现

5.1系统数据库表的基本设计

在建设网站系统之前,我们必须对系统所用到的数据进行大致的分类和具体的结构设计,既要做到清晰明了,又要能适应系统各项功能的调用,而不至于产生结构上的逻辑混乱,保证关键数据在意外情况下不会被破坏,可以说数据库是系统的重中之重。

数据库设计要遵循一些规则,一个好的数据库满足一些严格的约束和要求。尽量分离各实体对应的表,一个实体对应一个表,搞清楚该实体有哪些属性,对应有些什么字段,以及各实体之间有何种联系。实体、属性与联系是进行概念设计时要考虑的三个元素,也是一个好的数据库设计的核心。

从实际出发,经过仔细地设计,得到各表的设计如表5.1所示。

表5.1数据库uml图

5.2 功能总体说明

5.2.1 目录结构说明

D A O包

D a o包中全部封装的是工程的接口,这个包的作用在于满足用户的需求,实现是由专门的代码再处理。在后期的维护升级中只要在此包中加入一个接口,这样不会影响到整个系统的运行。

I m p l包

I m p l包中实现了d a o包中的所有接口。实现用户注册,购物车的实现,后台商品的管理模块,用户管理的模块。

D b c包

I m p l包中的每一个类是要完成对数据库的操作。

F a c t o r y包

F a c t o r y包中实例化所有的i m p l包中的方法

V o包

V o包中存放的是所有变量的g e t/s e t方法,提高了系统的安全性。这样做是为了符合J a v a 的命名规范

5.2.2 主要功能流程

六、个人遇到的困难与获得的主要成果

6.1数据源没有配置好和连接池没有配置好

W e b网站一开始因为数据源和连接池没有配置好,会在控制台出现:

N a m e j d b c i s n o t b o u n d i n t h i s C o n t e x t

N a m e j d b c i s n o t b o u n d i n t h i s C o n t e x t

N a m e j d b c i s n o t b o u n d i n t h i s C o n t e x t

这是因为数据库没有配置好,将j d b c驱动添加到t o m c a t中。

6.2网页浏览的时候出现乱码

这是因为页面的P a g e E n c o d i n g设置错误,应该设置成U T F-8。

6.3找不到文件

启动服务器之后,访问文件时经常出现以下信息:

H T T P S t a t u s404…

出现该错误是服务器找不到相应的资源。结果证明是因为数据库没有连接成功。当数据库连接成功后就可以使用。

七、测试与运行记录

7.1网站首页测试

7.2注册模块测试

7.3注册后登陆成功提示画面

7.4购物车

7.5后台管理

7.6后台管理界面

7.7后台管理商品(添加,查询商品)

7.8 测试分析总结及说明

在测试过程中,我们经过模块测试和组装测试,排除了系统的大部分错误。当然排除

所有错误是不太可能的,我想应该还有些不易检测到的错误还没有被发现,需要在使用的过程中进一步的完善,数据库的加密是一个重要的概念,在实际的应用过程中是一个尚待解决的问题,应该做好数据库的完善工作,特别是备份和安全工作;另一方面本系统没有制作相关的打印,由于时间仓促难免有错误和不完善的地方,希望老师能够帮我指点和纠正。

7.9 系统的性能分析

网上购物系统的性质决定了它的服务端工作负荷比较大,这就要求服务端的硬件配置要尽可能的高,主要是内存,而且操作系统也要尽可能的稳定。基于java的系统一般来说网络安全性比较好,但并不能说就一定安全,尤其在windows操作系统下,由于windows 的漏洞比较多,系统装配在windows下并不是最佳的选择,如果有条件,建议可将系统装配在unix操作系统下,提高系统的抗侵入能力。

系统的核心数据库,随着数据的不断增多,必然会产生冗余,导致系统运行效率降低,建议管理员定期备份和清理冗余数据,以保证系统的正常高效运行。

八、系统设计完成结果分析与个人小结

8.1结果分析

实现功能:

基本实现了一个简单的网上购物系统。实现了网上购物系统的用户注册,购物车的实现,后台商品的管理模块,用户管理的模块的实现。

不足之处:

1.数据库设计过于简单,数据容易产生冗余。

2. 网站架构没有完全按照MVC模式进行设计,后期维护会有困难。

8.2个人小结

这次动态网页课程设计我做的是网上购物系统,主要是服务于商家发布商品,买家购买。系统分为购物平台,BBS平台和留言板模块三部分,系统中采用的技术主要有:JDBC 数据库连接技术、和MVC三层架构利用MyEclipse集成开发环境。

虽然网上购物系统的基本功能都已实现,但还是存在系统不稳定等多个问题尚待解决。这网上购物个系统主要是我们小组三人共同开发的,但也得到了老师的很大帮助。我正在做系统的过程中遇到了很多问题,有的是知识存储不足,有的是考虑不够周全,之所以能够顺利实现基本功功能,离不开老师的大力相助。事实证明,只靠自己是不能顺利完成一套功能完整的系统的,必须充分利用团队的力量。

开发一套系统,最重要的是细心,并不是一定要做到面面俱到,但也要充分考虑到客户的需求和现实意义,不管什么系统,只用运用到实际应用中,才具有先现实意义。所以在准备工作中要正确分析社会需求了解现实应用,画出流程图,把大体框架做好,然后再逐一细化。我们不可能做到面面俱到,但一定要做到步步扎实,作为一个程序编程人员,要保持清醒的头脑,以现实为依据,让自己的每一行代码都能实现自己的意义。

通过这次动态网页课程设计,我收获的不仅仅是课程上的知识得到实际应用,还有编程的基本习惯和开发系统时应注意的流程。

九、附录

小组分工说明

(1)成员分工

赵子斌(主要程序编写,购物平台的实现,网站的搭建) 于浩洋(数据库的设计,网页美工,留言板的实现)

左恩坚(BBS模块的实现)

(2)框架设计:全组成员讨论,赵子斌搭建框架

(3)数据库设计:于浩洋

(4)网页美工:于浩洋

相关文档