当前位置:文档之家› 基于SSH的体育用品销售管理系统开发毕业设计40设计41

基于SSH的体育用品销售管理系统开发毕业设计40设计41

(此文档为word格式,下载后您可任意编辑修改!) 基于SSH的体育用品销售管理系统开发

摘要

随着计算机技术和通信技术的迅速发展,网络的规模也逐渐增大,网络的元素也随之不断增加,有的利用其通信,有的利用其商业用途,在网络上进行出售、收购、宣传等操作,从而使得网络越来越成为现今社会上必不可少的元素,而网站就是这个网络里很庞大的元素。

本文所讨论的系统是基于目前web开发中流行的2大框架:struts、SSH

Abstract

With the rapid development of computer technology and communication technology, the scale of the network also increases gradually, the network element increasing, some use their communication, some use its commercial use, for sale, purchase, publicity, etc in the network operation, so as to make the network more and more become the essential element in modern society, and the site is very large elements of the network.

The system we talked about is based on two widely used framework:Struts2 and development, database creation and maintenance of the two areas.

This system at the front desk mainly using JSP as a development language, the background using Oracle as the database management system, the development environment is Eclipse, server using tomcat, developed a Web technology based BS structure of the system of shopping mall.

Through this system, Advertiser can issues business information and products advertisements, and users can conveniently order goods depending on BS pattern. Because of running on web, the system can offer whole day, better more quick room of activities to realize the basis functions of transaction in Internet. The Web, according to the current design principles of business Web, gives first place to transaction function in Internet, it is a synthesis electronic commerce Web. From the analysis above, the content of this paper mainly includes the design of client and server. Client part is specific to user, Server part is specific to administrator. Administrator and manager the 、detailed design、database design.

Key words: Sales network ;design modular; design data; validation

目录

摘要................................................................................................................................................ I I Abstract .......................................................................................................................................... I I 第一章绪论 (1)

1.1 课题的背景和意义 (1)

1.2 工作内容 ................................................................................ 错误!未定义书签。

1.3 J2EE体系结构介绍............................................................. 错误!未定义书签。

1.3.1 Tomcat简介........................................................... 错误!未定义书签。

1.3.2 Ajax技术简介 (1)

1.3.3 Struts2框架的引入 (2)

1.3.4 Hibernate框架的引入 (2)

1.4 网站工作模式 (3)

1.5 本章小结 (3)

第二章需求分析 (4)

2.1 需求分析概述 (4)

2.2 功能模块图 (4)

2.3 可行性分析 (4)

2.3.1 经济可行性 (4)

2.3.2 技术可行性 (5)

2.3.3 环境可行性分析 (5)

2.4 用户需求分析 (5)

2.4.1 用户注册需求 (5)

2.4.2 用户登录需求 (5)

2.4.3 购买商品需求 (5)

2.4.4 购物车管理需求 (5)

2.4.5 订单管理需求 (5)

2.5 管理员需求分析 (5)

2.5.1 管理库存的需求 (5)

2.6系统用例图 (6)

第三章概要设计 (8)

3.1 系统体系结构的设计 (8)

3.2 系统的层次结构设计 (8)

3.3 数据库设计 (8)

3.4 系统组成 (11)

3.5 系统文件组织设计 (12)

第四章详细设计 (14)

4.1 系统运行环境 (14)

4.2 系统部署架构 (14)

4.3 系统时序图 (14)

4.4 系统的持久化层具体实现 (14)

4.4.1 定义Hibernate工厂类 (14)

4.4.2 使用Dao模式 (14)

4.5 系统业务逻辑层设计 (14)

4.6 系统接口及映射文件的实现设计 (15)

4.7 模块功能设计与实现 (15)

4.7.1 登陆功能 (15)

4.7.2 注册功能 (15)

4.7.3 购买商品功能 (16)

4.7.4 用户订单管理 (17)

4.7.5 用户信息修改 (17)

4.8 系统业务流程图 (18)

4.9 本章小结 (18)

第五章测试小结 (20)

5.1 测试说明 (20)

5.2 系统功能测试 (20)

5.3 本章小结 (24)

结论 (25)

参考文献 (26)

致谢 (27)

外文原文 (28)

中文翻译 (34)

第一章绪论

1.1 课题的背景和意义

随着网络的发展越来越迅速,人们也希望互联网能对自己的生活、工作提供越来越方便快捷的支持和帮助。本体育用品销售管理系统是在Internet开放的网络环境下,基于浏览器服务器应用方式,实现顾客网上交易的一种新型的网购模式。本系统将传统的商品采购流程数字化,可以大量减少人力、物力;另一方面突破了时间和空间的限制,使得网上交易可以在任何时间、任何地点进行,极大地方便了消费者消费,使商品购买变得轻松、快捷、方便,从而大大提高了效率。以前网上销售管理系统大多数是基于客户机服务器的模式来设计和开发的。随着技术飞速发展,传统的客户机服务器面临着严峻的挑战,其中最为突出的问题是开发负担重、维护困难等。

目前,许多的网站都采用了struts2、)的Jakarta 项目中的一个核心项目,由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现。由于Tomcat 技术先进、性能稳定,而且免费,所以深受Java 爱好者的喜爱也得到了一些软件开发商的认可,成为目前比较流行的Web 应用服务器。

Tomcat 因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能,所以他深受Java爱好者的喜爱。

Tomcat 是一个小型的应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,也是开发和调试JSP 程序的首选。对于一个初学者来说,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web 服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和 JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache 服务器。

1.3.2 Ajax技术简介

Ajax全称“Asynchronous JavaScript and XML”,是指一种创建交互式网页应用的网页开发技术。它包含了以下几种技术:基于web标准XHTML+CSS的表示;使用DOM进行动态显示及交互;使用XML和XSLT进行数据交换及相关操作;使用XMLHttpRequest进行异步数据查询、检索;使用JavaScript将所有的东西绑定在一起。

Ajax,使用它可以构建更为动态和响应更灵敏的Web应用程序,让浏览器为用户提供更为自然的浏览体验。Ajax能提供与服务器异步通信的能力,从而使用户从请求响应的循环中解脱出来。借助Ajax,可以在用户单击按钮时,使用JavaScript和DHTML 立即更新UI,并向服务器发出异步请求,来执行更新或查询数据库。当请求返回时,就可以使用JavaScript和CSS来相应地更新UI,而不是刷新整个页面,使用户看起来是即时响应的。

Ajax的核心是JavaScript对象XmlHttpRequest。该对象是一种支持异步请求的技术。简而言之,XmlHttpRequest使用户可以使用JavaScript向服务器提出请求并处理

响应,而不是阻塞用户。在创建Web站点时,在客户端执行屏幕更新为用户提供了很大的灵活性。

1.3.3 Struts2框架的引入

一个成功的电子商务网站的构建不仅需要考虑到如何高效快捷的实现系统功能,还要本着可扩展的原则,在一定时期内适应技术发展与功能扩充的需求,同时要给用户提供方便、实用的信息服务,使网站的商务功能最大化。因此在网上体育用品销售系统的设计中,采用了基于Struts2的结构框架设计,采用此结构框架设计的优点有:

(1) 可扩展性:Struts2框架是基于JSP Model2的设计标准,可以说是MVC设计模式的一种变化类型,其业务逻辑和表示逻辑分开,而且所有默认的设置都可以配置,包括了一系列通用标记扩展,适应复杂的业务形式,具有较强的可扩展性,能满足新业务发展的要求。

(2) 标准性和开放性:Struts2 框架基于Java语言,而且其基本组件具有统一的标准,在许多运行标准的容器中都工作的非常好,具备优异的可移植性

(3) 安全性和高效性Struts2具有完善的安全管理机制,Java语言也是当前最安全的语言。采用Struts能使系统具有较高的网络安全性和运行效率,保证提供高质量的网络服务和快速的响应速度。

1.3.4 Hibernate框架的引入

Hibernate是JDBC的轻量级的对象封装,它是当前比较流行的对象持久化技术,用hibernate可以将一个Java对象保存到数据库。它是一个独立的对象持久层框架,和Application Server、EJB之间没有什么必然的联系。Hibernate可以用在任何JDBC 可以使用的场合,例如Java应用程序的数据库访问代码,DAO接口的实现类,甚至可以是BMP里面的访问数据库的代码。

Hibernate是一个和JDBC密切关联的框架,所以Hibernate的兼容性和JDBC驱动及数据库都有一定的关系,但是和使用它的Java程序、Application Server没有任何关系,也不存在兼容性问题。

Hibernate的体系总览如图1.1所示。

图1.1 Hibernate的体系总览图

由于Hibernate比较复杂,提供了好几种运行方式。在轻型体系中,应用程序自己提供JDBC连接,并自行管理事务。这种方式使用了Hibernate API的一个最小子集。如图1.2所示

图1.2 Hibernate运行方式图

此处SessionFactory的含义为:单一数据库编译过的映射文件的一个线程安全的、不可变的缓存快照。它是Session的工厂,是Connection Provider的客户。可能持有一个可选的二级数据缓存,可以在进程级别后集群级别保存可以在事务中重用的数据。

Session是生命周期的单线程对象,代表应用程序和持久层之间的一次对话。封装了一个JDBC连接,也是Transaction的工厂。保存有必需的(第一级)持久化对象的缓存,用于遍历对象图或通过标识符查找对象。

1.4 网站工作模式

目前在应用开发领域中,主要分成两大编程体系,一种是基于浏览器的BS结构,另一种是客户机服务器(CS)结构。在此网上销售管理系统中,我们采用了BS模式。

将CS与BS模式作一下比较发现:

(1) CS模式客户连接多时导致性能迅速下降、占用资源多。而BS模式下多采用分层结构,分布式处理任务,多客户时性能优越。

(2) 客户端与服务器直接相连,安全性差,对客户端性能要求较高。而BS模式只需要有浏览器即可访问。

(3) 对CS程序作任何改动都需要重新安装客户端,而BS程序只需要在服务器端重新部署即可实现所有客户程序的更新。

(4) CS界面操作速度有一定优势,但存在界面死板、不够美观的弱点,而浏览器页面的元素的多样性使得系统界面更加美观。

总体上,基于BS应用模式的营销系统更加符合现在的应用环境和技术发展的趋势。

本系统充分利用过滤器和监听器的功能,解决系统乱码问题,和对session对象的管理。其中监听器使用了SessionListener,ContextListener,SessionListener实现了当用户关闭浏览器时,系统会自动删除session中的购物车,当用户访问页面时即session形成时,监听器会自动监听,系统会自动创建购物车以便后来在用户购物车管理模块中当用户购买商品时,放入到此购物车中。ContextListener使用的目的是,监听整个应用系统的启动和关闭,当系统启动时会加载数据库中的所有体育用品商品。这样做的好处是不必每次请求查看商品数据时都与数据库发生交互。

1.5 本章小结

本章首先分析了下当前销售行业在网络上的发展态势,得出基于web系统的开发是一个新的趋势。然后从技术的角度讨论了web系统开发的模式和框架,包括struts2和hibernate框架的运行原理和各自的性能特点,它们各自代表着控制层和持久层。

第二章需求分析

2.1 需求分析概述

体育用品销售管理系统主要实现了在网上选购商品、将商品加入购物车、查询订单等功能。本系统实现了商品信息的展示、购物车管理、注册用户信息、修改个人信息、登录管理、订单处理等模块。需求分析可以分解为用户需求分析和管理员需求分析。

2.2 功能模块图

功能模块图如图2.1所示:

图2.1 功能模块图

2.3 可行性分析

2.3.1 经济可行性

通过网站对体育用品销售进行全面的自动化的管理,使销售管理系统更加规范,实现了通过网络对商品信息进行发布、传递、接收等一系列功能,大大提高了企业的

办公效率。通过系统对体育用品销售过程中的数据进行全面的管理和统计,避免人为处理各类数据时所产生的各种问题,提高了企业的经济效益,为企业经营决策提供了大量的、权威的数据,使企业的管理进行到科学化、系统化的范筹。

2.3.2 技术可行性

网络体育用品销售系统的开发采用了先进成熟并且符合实际应用的开发方法,目前最流行的集成开发环境MyEclipse,动态网页开发技术JSP和MVC架构技术Struts、Spring和Hibernate,功能强大的数据库管理工具Oracle,结合自己的实际开发能力,可以开发出较为完善的体育用品销售管理系统。

2.3.3 环境可行性分析

在软件环境方面,系统的开发环境如下:

操作系统:windows7;

Web应用服务器:Tomcat 6.0;

数据库:Oracle 10.0g;

开发工具:Elcipse;

2.4 用户需求分析

2.4.1 用户注册需求

注册要求用户输入一些个人信息,用户名是每个注册用户的唯一标识。注册过程中还可以检查用户名是否存在,当注册成功后,用户可以使用用户名和密码进入体育用品销售系统,进行购物、查看订单等活动。

2.4.2 用户登录需求

在登录界面上用户可以输入用户名和密码进行登录,如果用户名和密码都正确,则可以进入体育用品销售管理系统,如果不正确,提示用户登陆失败,请输入正确的用户名和密码,并重新登录。如果用户不存在还可以点击用户注册进入用户注册界面。

2.4.3 购买商品需求

用户可以以两种身份浏览商品。一种是已注册用户,另一种是游客。当用户用注册用户账号登录本系统进行购物时,用户可以先将选中商品加入购物车,再提交订单,可以选择货到付款、邮局汇款、银行转账三个付款方式。如果以游客身份购买商品,可以将选中商品先加入购物车,提交订单时,系统会自动提示您需要登录才可以购买此商品,页面将自动跳转到登录界面。

2.4.4 购物车管理需求

购物车可以跟踪用户选择的商品,用户在购物车中保存自己所选中的商品。每个用户都有自己临时的一个购物车。可以查看购物车,可以修改选中的商品的数量,可以添加商品放入购物车,也可以取消已加入购物车的商品或者清空购物车重新选购商品。

2.4.5 订单管理需求

已登陆用户能查看自己的订单,能查看自己订单的详细信息,也可以删除自己的订单,当确认订单后,系统根据购物车中的数据生成一条订单记录和一条订单明细记录,并将此次购买信息加入到相应顾客的订单信息中,并清空了购物车中的所有商品。

2.5 管理员需求分析

2.5.1 管理库存的需求

核心功能为添加商品,修改商品信息,修改库存,即对体育用品数量的增加和删除,增加体育用品的同时还要对保存在session里面的体育用品作更新,与数据库的同步,让顾客可以买到最新型号的体育用品。如图2.2所示

图2.2 管理员需求框图

2.6系统用例图

(1)客户总体用例图,如图2.3所示

图2.3 客户总体用例图

(2) 客户管理用例图,如图2.4所示

图2.4 客户管理用例图(3)客户购物车用例图,如图2.5所示

图2.5 客户购物车用例图(4)客户订单用例图,如图2.6所示

图2.6客户订单用例图

第三章概要设计

3.1 系统体系结构的设计

(1)该系统是以关系数据库为存储,基于Web的应用系统。由一系列组件和功能模块组成。

●总体结构:浏览器服务器(BS)

●编程模式:Jsp+Hibernate+STRUTS2

●逻辑结构:用户界面开发、业务逻辑处理和数据存储

(2)该系统联合使用业务代理和DAO模式

3.2 系统的层次结构设计

系统从逻辑上分为显示层、业务逻辑层、数据持久层。从程序分布位置角度来看,系统依次分布在浏览器、应用服务器、数据库系统这三层。

3.3 数据库设计

数据库技术是信息资源管理最有效的手段。数据库设计是指针对一个给定的应用环境,构造最好的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。数据库结构设计的好坏直接对应用系统的效率及实现效果产生影响。合理的数据库设计可以提高数据库的存储效率、保证数据的完整性和一致性。

基于系统的功能分析,其ER图如图3.1所示。

图3.1 系统的实体关系图根据ER图,可得出数据库的表单如下:

(1)userinfo:存放用户信息如表3.1所示:

表3.1 用户信息表

(2)Product表:存放体育用品信息如表3.2所示:

表3.2 体育用品信息表

(3)

表3.3 订单明细表

表3.4 订单信息表

(5)payway表:用户选择付款方式如表3.5所示:

表3.5 付款方式表

(6)contactionfo表:查看订单详细信息如表3.6所示:

表3.6 订单详细信息表

3.4 系统组成

系统组成表如表3.7所示:

表3.7 系统组成表

采用分层开发设计,这样的好处是分工明确,适合团队开发。如果某个地方出现错误不会影响其他层。这是一种高內聚低耦合的设计思想。

为体现Struts框架结构的设计思想,可采用以下的包结构的设计思想。

WebRoot中的文件主要是直接为用户提供服务的页面文件,也就是MVC中的(View) ,负责界面的显示和与用户的交互。这样以来,View只使用或调用action里的服务,而action和service也只调用dao里面的方法。这种调用方向单一,有效地降低了耦合,增强了内聚。

系统文件的组织如图3.2所示:

图3.2 系统文件的组织

第四章详细设计

详细设计是对系统架构设计的精化,主要是在系统需求规格和架构设计的基础上,对系统用例中使用的类和对象进行进一步的精化,确定每一个类的属性和方法。

4.1 系统运行环境

系统运行的操作系统为Windows,也可以移植到Linux、Unix等操作系统下执行,数据库采用Oracle 10g,应用服务器采用符合J2EE规范的Tomcat6.0应用服务器。4.2 系统部署架构

整个应用部署在一台应用服务器、一台数据库服务器上。系统可以可以使用企业内部局域网,也可以通过广域网访问系统。

4.3 系统时序图

在体育用品销售管理系统设计过程中,时序图如图4.1所示。

图4.1 系统时序图

(1)界面:在本项目中指JSP页面,在具体的时序图中被实际的页面文件所替代。

(2)Action:指Struts中的Action的具体实现类,在具体的时序图中被实际的类所替代。其作为控制器的一部份存在。

(3)BO:业务逻辑操作对象(Bussiness Object),执行功能的业务逻辑职责,在具体的时序图中被实际的类所替代。如果某个功能没有业务逻辑处理,此类可以不在时序图中存在。

(4)DAO:为数据操作类处理相应的数据库操作。

(5)HibernateDataSource:数据操作实现类,用来执行实际的数据库访问。

4.4 系统的持久化层具体实现

4.4.1 定义Hibernate工厂类

本系统采用Struts和Hibernate技术进行开发,由Hibernate进行数据库连接和数据对象的操作,这里定义一个HibernateSessionFactory类去负责初始化Hibernate。由它创建全局的SessionFactory工厂类,并且提供创建和关闭session 实例,创建HibernateTransaction负责打开关闭事物。这样在使用hibernate时更加方便,不用每次为创建SessionFactory实例,Session实例或者关闭Session实例,打开关闭,事物操作单独这些代码,只要调用上面的类的方法就可以了,从而简化了操作。

4.4.2 使用Dao模式

本系统的持久化逻辑采用Hibernate作为中间件,并使用DAO设计模式实现。主要是在业务核心方法和具体数据源之间增加一层,这样就减少了两者的耦合。每个持久化类对应一个DAO类,它实现了持久化类的创建、查询、更新及删除方法,以及其它访问持久化机制的方法。本系统所有与数据库逻辑有关的方法都在IDao接口中,在

com.briup.dao包下创建一个Dao的接口,并在com.briup.dao包下创建一个impl继承Dao接口实现具体的操作。

4.5 系统业务逻辑层设计

业务逻辑层中只包含业务逻辑,不包含任何与数据库的交互,因此减少了访问过

程中与数据库交互的过程,大大提高了运行的速率。业务逻辑层的实现需要调用持久化层和数据库交互功能的支持。本系统所有与业务逻辑有关的方法都在Service接口中,并且在com.briup.service包中创建一个impl包,此包中的类是对service接口的实现。

4.6 系统接口及映射文件的实现设计

本系统的持久化逻辑采用Hibernate作为中间件,并使用DAO设计模式实现。主要是在业务核心方法和具体数据源之间增加一层,这样就减少了两者的耦合。

每个持久化类对应一个DAO,它实现了持久化类的创建、查询、更新及删除方法,即CRUD(create 、retrieve、update、delete)方法,以及其他访问持久化机制方法。

本系统所有与数据库逻辑有关的方法都在Dao的实现类中,现在dao包下创建接口IProductDao、IOrderDao、IUserDao ,并在dao.impl包下创建接口的实现类ProductDaoImpl OrderDaoImpl、UserDaoImpl,注意要继承相应的接口。

为了使用Hibernate来持久化对象,首先要根据数据库的各个表创建映射文件.每个类都对应的Hibernate映射文件,且都放到bean包下。

4.7 模块功能设计与实现

4.7.1 登陆功能

任何的用户都必须通过登陆界面进入购书系统。在登录界面上用户可以输入用户名和密码进行登录,在登录时用户可以选择以不同的角色身份登录。如果用户名和密码正确,将成功跳转到体育用品销售管理系统主页面,如果不正确,提示给用户错误信息,并且还跳转到登录界面继续登录。具体实现思想:首先客户端验证通过JavaScript来完成,比如用户没有输入用户名时提示客户用户名不能为空,密码为空时提示密码不能为空。只有用户名和密码都填写好以后才能进行客户端数据的提交,这样使得操作更加方便并且提高效率。当数据提交以后,表单中的数据将经过拦截器,它的作用是为参数作类型转换,这个过程是自动完成的,无须我们去作这部分工作。我们在logAction里面也有定义两个实例变量:name和password并且写上对应的setget方法。

然后判断登录的身份为普通用户还是管理员,输入的用户名和密码是否正确,action里面的execute方法调用IUserService接口中的login(Customer c)方法实现登录的合法性验证。如果为普通用户,在此service方法中首先要调用dao方法中的find(String name) 方法判断数据库customer表中是否存在名字为name的记录,如果不存在提示用户输入的用户名不存在,如果存在,继续判断密码是否于数据库中的密码相同,相同的时候表示登录成功

execute方法返回Success,然后struts2根据配置文件的配置跳转到相关的页面,也就是销售管理的客户主界面。如果是管理员,我们将把servletContext里面的admin 键值对读出,如果用户密码都正确跳转到管理界面否则提示出错。

无论是用户还是管理员,在登录成功后都把Service层的login方法返回的Customer对象保存到session范围内。

遇到的问题:在写action的时候总是忘记把属性的setget方法写上,这样作的后果是struts是没法给属性赋值的,可能会产生空指针异常。还有就是由于在execute()方法里面实际上有普通用户和管理员的两个登录,所以刚开始写时把返回值都写成了"success"和"error",这样是不能跳转到正确的页面的。

4.7.2 注册功能

任何第一次登陆的用户必须先注册,与注册界面有关的为register.jsp,在完成

注册功能时需要为注册功能的实现定义一个action名字为RegisterAction,在execute()方法中调用相应的Dao和Service方法实现注册。对注册的用户进行合法性的验证,满足所有的条件的用户才能注册成功。用户名作为用户登录的唯一标识。在验证注册新用户的过程中加入新加入了javascript验证的过程,提示用户在注册时必须提供用户名和密码,且为了密码的安全,位数在6位和8位之间等等。只由在满足这一系列条件的情况下才能正常地注册,否则重新注册。

具体实现的思想:在注册界面中,对于带有红色星号的项必须填写,其具体的客户端验证通过JavaScript完成,如果没有填写在提交的时候系统会提示用户填写相关的项目。在JavaScript文件的main.js中定义了一个函数,专门对注册界面提交的表单进行合法性验证,如果验证通过,转回form中执行的action属性,跳转到RegisterAction的execute方法中,在execute中接收到从注册页面的表单中的提交的相关数据,创建User对象并将提交的数据封装在此User类中,调用service中的registerUser方法对业务逻辑进行进一步的验证,完全符合条件的情况下才能注册成功,否则继续进行注册。

4.7.3 购买商品功能

商品的购买必然要牵涉到购物车的实现,它也是本系统的核心技术部分,首先是购物车列表的动态显示,所有商品的数据是通过监听器加载进内存的,通过分页技术,让顾客能浏览所有的体育用品商品。实现购物车中的添加体育用品、修改购买的数量,以及清空购物车的功能。

体育用品列表的动态显示是在web应用启动的时候完成的,使用了创建事件监听器的方式实现。具体实现:在listener包中创建一个ApplicationListener类,继承系统提供的ServletContextListener类,定义contextIntialized方法对体育用品列表信息进行初始化工作,在此方法中新建一个products类型的对象,该对象的构造方法就有从数据库中查询出所有的商品,然后把products的对象存放在ServletContext 范围内的application对象中,存放在ServletContext范围内的对象的生命周期为从web的启动到web服务器的关闭时注销,因此解决了在整个系统运行的过程中都有体育用品信息的存在,而且不用在每次用到体育用品信息的时候去数据库中查询调用数据,减少了与数据库的交互性并能提高系统的运行效率。采用contextDestoriyed方法删除存放在ServletContext范围中的体育用品信息。

购物车的创建是在listener包中创建一个ShopCartListener类,继承系统提供的HttpSessionListener类,从HttpSessionListener中获取session对象,创建一个shopcart对象,并把它放在session范围内,以供用户使用。

在创建事件监听器以后,一定要在web.xml配置文件中对事件监听器进行配置,否则创建的事件监听器不起任何作用。核心代码如下:

com.briup.web.listener.ShopCartListener

体育用品信息在jsp页面上的动态显示使用了在jsp的脚本中使用jstl标签结合EL表达式来处理。使用EL的目的为输出对象中的属性值,输出一些变量值,输出一些表达式(关系、逻辑、算术)的结果

例如:

sessionScope: 把session范围中的key和value进行映射

相关主题
文本预览
相关文档 最新文档