ImageVerifierCode 换一换
格式:DOC , 页数:34 ,大小:951KB ,
资源ID:7647168      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/7647168.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(基于JSP和Hibernate电子商务网站设计与实现.doc)为本站上传会员【pc****0】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

基于JSP和Hibernate电子商务网站设计与实现.doc

1、第1章 前 言 1.1 开发背景 随着Internet在中国的迅速发展,人们日常生活中越来越多地使用Web技术来为自己的工作和学习服务。由于Web页面能把文本、图像、声音、动画、视像等多种媒体信息集于一体,不但使信息的显示更加生动,而且使信息的浏览更为方便,同时Web页能实现网上交易平台、客户信息反馈等功能,方便了企业与客户之间的信息交流,因此许多企业为增强知名度,以网站作为对外的展示窗口,进行内外信息交流。这也是企业面临的商机和挑战。 服装厂正在扩大规模,而且涉及到了出口生意。服装厂的客户很多,分布于各地,甚至还有国外。每次有了新款式的服装时,不是所有的客户都能很方便的来到

2、服装厂看货。所以通知客户的工作很繁琐,因为要给每个客户都发去新款式的数码照片,这是个多次重复而且复杂的工作。另外,客户通知服装厂订货大部分都是通过现场洽谈或者是电话来确定的,很不方便,而且对于现在的时间就是商机的现状,这样的效率是应该提高的。所以我设想开发这样的一个网站。 1.2 开发目标 开发目标有如下7点: l 能够在系统上展示产品,包括文字信息和图片信息。 l 能够管理客户的信息。 l 能够动态的给建立关系的客户赋予几种不同级别的权限,不同级别的客户可以看到不同浏览级别的产品。 l 客户通过Internet浏览商品信息,可以在网上下订单。 l 能够给产品设定不同的浏览级别

3、 l 能够对产品的订货次数进行统计,对服装厂进行简单的决策支持。 l 要求系统运行安全稳定。 1.3 项目意义 项目的意义有如下5点: l 服装企业有了自己的网站,可以将产品信息放在网站上,供所有浏览该网站的顾客浏览,可以起到宣传和广告的作用。 l 任何人都可以注册为网站的用户,可以在网上下订单,这样可以增加客户的数量,扩大销售渠道,为客户提供方便。 l 固定客户被赋予一定的权限之后统一到网站上浏览新产品的信息和下订单。这样可以省去服装企业为每个客户发送新款产品照片的这一繁琐工作,提高了工作效率,减少了失误。 l 一些老款式的服装信息可以长期保存,比如说某个客户想要几年前的

4、某个款式或者是某种面料,开发了这个网站后既方便服装厂又方便了客户。 l 通过留言板,及时了解顾客对企业的意见和产品信息的反馈,为及时与顾客沟通信息提供了方便的平台。使企业及时地了解顾客的需求,及时地更新产品,更好的为顾客服务,提高企业的市场竞争力。 总之,本项目在提高服装厂工作效率的同时,也能起到广告宣传的作用,正所谓一举多得。 第2章 开发工具及运行环境 本课题的开发工具有Java、MySQL数据库、Hibernate中间件、Tomcat等,运行环境包括软件环境和硬件环境。 2.1 软件环境 1. Java Java能使软件在很小的机器上运行,基础解释和类库支持的大小约

5、为40KB,增加基本的标准库和线程支持的内存需要增加125KB。它的特性列举如下: l Simple And Familiar(简单熟悉)。 l Distributed(分布式)。 l Object-Oriented(面向对象,OO)。 l 健壮特性。 l Secure(安全)。 l Architecture-Neutral(结构中立)。 l Portable(可移植性)。 l Multi Threaded(多线索、多线程)。 l Somewhat Interpreted(部分解释)。 l High Performance(高性能)。 l Dynamic(动态)。 2.

6、 MySQL数据库 MySQL默认配置了许多不同的存储引擎,可以预先设置或者在MySQL服务器中启用。可以选择适用于服务器、数据库和表格的存储引擎,以便在选择如何存储信息、如何检索这些信息以及需要数据结合什么性能和功能的时候提供最大的灵活性。选择如何存储和检索数据的这种灵活性是MySQL为什么如此受欢迎的主要原因。其他数据库系统(包括大多数商业选择)仅支持一种类型的数据存储。遗憾的是,其他类型的数据库解决方案采取的是“一个尺码满足一切需求”的方式,这就意味着要么牺牲一些性能,要么就用几个小时甚至几天的时间详细调整数据库。使用MySQL,仅需要修改使用的存储引擎就可以了。 MySQL中的数据

7、用各种不同的技术存储在文件或者内存中。这些技术中的每一种都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,能够获得额外的速度或者功能,从而改善应用的整体功能。 3. Hibernate中间件 对象和关系数据其实是业务实体的两种表现形式。业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承的关系,而在数据库中,关系数据无法直接表达多对多的关联和继承关系。因此把对象持久化到关系数据库中,需要进行对象关系映射(Object/Relation Mapping,简称ORM),这是一项繁琐耗时的工作。 选择Hibernat

8、e作为中间件的原因如下: l 它可以对JDBC API进行封装,负责Java对象的持久化,在分层的软件架构中它位于持久化层,封装了所有数据访问的细节,使业务逻辑层可以专注于实现业务逻辑。 l 它可以方便地使用数据库连接池。而且它是开放源代码。 4. Tomcat Tomcat是一个免费的开源的Servlet容器,它是Apache基金会的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总能在Tomcat中得到体现。Tomcat被JavaWorld杂志的编辑选为2001年度最具创新的Java产品,可见其在业界

9、的地位。由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。很多中小应用不需要采用EJB等技术,JSP和Servlet已经足够,这时如果用应用服务器就有些浪费了。而Tomcat短小精悍,配置方便,能满足我们的需求,这种情况下我们自然会选择Tomcat。Tomcat也可以与其他一些软件集成起来实现更多的功能。现举例如下。 l 与JBoss集成起来开发EJB。 l 与Cocoon(Apache的另外一个项目)集成起来开发基于XML的应用。 l 与OpenJMS集成起来开发JMS应用。 除了以上提到的这几种,可以与Tomcat集成的软件还有很多。Tomcat确实是一个很好的工

10、具,不仅仅因为其免费,功能强大,更因为其开放性。如今,开源软件越来越受到人们的重视,Linux就是一个成功的典型。人们不再只限于使用软件,而且已经关心起软件的具体实现。我们有理由相信Tomcat会走得更远。 5. 软件环境的安装与配置 以上介绍的软件安装都很简单,其中JDK和MySQL的安装软件是可运行程序。只需直接安装即可。Tomcat、Hibernate的安装文件是压缩软件包,只需把压缩文件解压到本地磁盘,安装好后需在操作系统中设置环境变量。 2.2 硬件环境 本系统开发的硬件环境如下: l Pentium(R)4 CPU 2.80GHz。 l 768 MB的内存。 l 操

11、作系统为Windows XP。 l 网络连接速度为512KB。 在本论文的性能测试部分中,会给出在这种硬件条件下的性能测试结果,以供服装厂参考配置服务器 第3章 系统需求分析 进行应用软件系统的研发,首先必须准确了解与分析用户的需求。需求分析是整个设计过程的基础,它将直接影响应用程序的开发速度与质量。 3.1 功能需求分析 经过现场调研,下面给出用户对系统的功能需求。 1. 用户管理 用户管理自然是每个网站必不可少的,在本系统中,要求这部分管理安全可靠,权限分明,且其在前台和后台的表现不同,下面将分别进行介绍。 (1)前台表现 l 用户注册,此时要保证系统不受注册机的攻

12、击,要采用验证码技术。 l 要确保权限为普通用户。 l 要有密码保护措施,保证用户设定之后可以找回遗忘的密码。 (2)后台表现 l 系统管理员可以添加用户。 l 系统管理员可以动态的给用户赋予权限,保证系统信息不外泄。 l 系统管理员可以修改和删除用户信息。 l 系统管理员可以给用户建立备注信息,其仅对具有权限的用户可见。 2. 类别管理 (1)前台表现 l 类别首先分为男装、女装、童装三个大的固定类别。在每个大的类别之下,可以动态的添加或者删除小类别。示例:短裙、长裙均属于女装,女装为固定类别,而短裙、长裙则为小类别。 l 产品按照类别来展示,用户通过不同的类别进入不同

13、的产品区。 (2)后台表现 l 系统管理员可以动态的添加或者删除小类别。 l 类别必须先于产品存在,换言之,每件产品必须属于一个类别。 3. 品牌管理 品牌可以为企业起到广告宣传的作用。 (1)前台表现 前台表现为展示品牌文化,对该类品牌进行详尽介绍,可以起到宣传的作用。 (2)后台表现 l 系统管理员可以动态添加和删除品牌。 l 品牌必须先于产品存在,换言之,每件产品必须属于一个品牌。 4. 产品管理 产品管理是本系统的根本,安全可靠和按照权限展示是这部分的要求,要操作方便、展示美观。 (1)前台表现 l 产品展示中可以通过大类别→小类别分级展示产品。 l 要根

14、据访问前台的用户级别不同而展示相应级别的产品,以防厂家的商业秘密外泄。 l 产品图片要保证不失真。 (2)后台表现 l 系统管理员可以动态添加、修改和删除产品。 l 必须为产品指定产品小类别。 l 必须为产品指定产品品牌。 l 产品信息要包含一幅或者多幅图片,图片的格式为JPG格式,文件小于200K。上传速度要快。 l 对产品的订货次数进行统计,以便于对服装厂进行简单的决策支持。 l 系统管理员可以动态调整产品的浏览级别。 5. 网上订单管理 网上订单能够带来的方便和快捷是服装厂所期待的。 (1)前台表现 l 用户可以看到自己所有订单的历史记录,以便用户自己做一些统计或

15、者备忘。 l 和服装厂建立业务往来的用户,可以在网上下订单,订单信息包括产品型号和数量,且这两项数据要求进行校验。 (2)后台表现 l 系统管理员可在后台查看所有和服装厂建立业务关系的用户订单,从而决定是留下或者是删除。 l 若无特殊情况,要保证所有业务的用户订单都能够长久保留,这些历史数据可以为服装厂做统计或者做账目提供依据。 6. 新闻管理 发布新闻或者公告虽然不是本系统的重要部分,却是不能少的部分,倘若这一部分利用好,带来的商机也是不容小视的。 (1)前台表现 前台的表现是展示新闻,用户可以查阅。 (2)后台表现 后台的表现是系统管理员可以动态添加和删除新闻。 7.

16、 留言管理 现在的企业网站都要有沟通的平台。大规模的一般为论坛,中小规模的网站一般是留言板。在本系统中,留言板是服装厂和用户之间沟通的桥梁,也是用户之间沟通的媒介。 (1)前台表现 l 分页显示留言。 l 用户、服装厂自身可以发表留言。 (2)后台表现 后台的表现为系统管理员可以查看所有留言,并且可以对留言进行审核,也可以删除留言。 3.2 用例图分析 用例图是对包括变量在内的一组动作序列的描述,系统执行这些动作并产生传递特定参与者的价值的可观察结果。用例图主要的作用有以下三个。 l 获取需求。 l 指导测试。 l 对其他工作流起到指导作用。 1. 产品管理用例图

17、产品管理用例图如图3.1所示。 用户 服装厂 浏览产品 删除产品 修改产品 发布产品 图3.1 产品管理用例图 提示:服装厂发布产品信息,包括添加、修改、删除等基本操作。用户在产品展示模块中可查看产品信息服装厂发布产品信息,包括添加、修改、删除等基本操作。用户在产品展示模块中可查看产品信息。 2. 用户管理用例图 用户管理用例图如图3.2所示。 图3.2 用户管理用例图 提示:系统管理员可以添加用户、修改用户、删除用户、管理前台注册用户信息、动态为前台注册的用户赋予不同的访问权限。浏览者可以注册

18、 3. 订单管理用例 订单管理用例图如图3.3所示。 图3.3 订单管理用例图 管理员在后台查看所有和服装厂建立业务关系的用户订单,决定是留下或者删除订单。和服装厂建立业务往来的用户,可以在网上下订单,也可以看到自己所有订单的历史记录。 3.3 性能需求分析 性能需求有以下3个方面: l 安全可靠,权限机制完善,防止信息外泄。 l 可以防止注册机的攻击,要求采用验证码技术。 l 可满足1000个用户同时在线访问。 第4章 系统总体设计 在对开发系统进行全面分析调查的基础上,制定出应用软件的总体设计规划,对建立一个大型的信息系统来说是必须的,也是全面展开

19、开发工作的重要基础。系统总体设计包括:系统功能模块图设计、数据库设计、系统类图设计、软件体系结构设计等。 4.1 系统功能模块图设计 系统功能模块图如图4.1所示。 图4.1 系统功能模块图 4.2 数据库设计 数据库的设计是按照以下分析进行的。 l 浏览级别:产品的属性,用来设定产品提供给何种级别的用户浏览,分为所有浏览者、普通用户、系统用户、普通业务用户、高级业务用户5类。 l 产品大类别:分为男装、女装、童装3类。 l 产品小类别:分属于产品大类别,将产品大类别进一步分类。 l 产品品牌:产品所属的品牌。 l 留言板:分为中文版、英文版两类。 l 用户级别

20、分为普通用户、系统用户、普通业务用户、高级业务用户4类。 1. clothes表 clothes如表4.1所示。 表4.1 clothes表 字段名 SQL类型 说明 ID Long 主键,对象标识符 CLOTHID String 产品编号,由用户指定 NAME String 产品名称,由用户指定 TYPE Char 产品的浏览级别 BIGTYPE Char 产品所属的大类别 DESCRIPTION String 产品的详细信息 DESCRIPTIONENGLISH String 产品的英文详细信息 KIND_ID Lo

21、ng 产品所属的小类别 TRADEMARK_ID Long 产品所属的品牌 REGISTERED_TIME Timestamp 入库时间 2. clothesorders表 clothesorders如表4.2所示。 表4.2 clothesorders表 字段名 SQL类型 说明 ID Long 主键,对象标识符 CLOTH_ID Long 产品的ID ORDER_ID Long 订单的ID NUMBER Int 订货数量 3. kinds表 kinds如表4.3所示。 表4.3 kinds表 字段名 SQL类型 说明 ID

22、 Long 主键,对象标识符 NAME String 类别名称 NAMEENGLISH String 类别英文名称 TYPE Char 类别所属产品大类 4. messages表 messages如表4.4所示。 表4.4 messages表 字段名 SQL类型 说明 ID Long 主键,对象标识符 TITLE String 留言标题 DESCRIPTION String 留言内容 TYPE Char 留言板块 USER_ID Long 留言者 REGISTERED_TIME Timestamp 留言时间 5. new

23、s表 news如表4.5所示。 表4.5 news表 字段名 SQL类型 说明 ID Long 主键,对象标识符 TITLE String 新闻标题 TITLEENGLISH String 新闻英文标题 DESCRIPTION String 新闻内容 DESCRIPTIONENGLISH String 新闻英文内容 REGISTERED_TIME Timestamp 新闻发布时间 6. orders表 orders如表4.6所示。 表4.6 orders表 字段名 SQL类型 说明 ID Long 主键,对象标识符 USER

24、ID Long 下订单用户 REGISTERED_TIME Timestamp 下订单时间 7. pictures表 pictures如表4.7所示。 表4.7 pictures表 字段名 SQL类型 说明 ID Long 主键,对象标识符 PATH String 图片存储路径 CLOTH_ID Long 图片所属的产品ID 8. trademarks表 trademarks如表4.8所示。 表4.8 trademarks表 字段名 SQL类型 说明 ID Long 主键,对象标识符 NAME String 品牌名称 NA

25、MEENGLISH String 品牌英文名称 DESCRIPTION String 品牌详细介绍 DESCRIPTIONENGLISH String 品牌英文详细介绍 PICTUREPATH String 品牌商标图片的存储路径 9. users表 users如表4.9所示。 表4.9 users表 字段名 SQL类型 说明 ID Long 主键,对象标识符 NAME String 用户名 PASSWORD String 密码 EMAIL String 电子邮箱 TELEPHONE String 电话号码 ADDRESS

26、String 地址 TYPE Char 用户级别 REGISTERED_TIME Timestamp 注册时间 DESCRIPTION Text 备注信息 QUESTION String 密码提示问题 ANSWER String 密码提示问题答案 4.3 系统类图设计 根据分析,本系统有下列8个类:产品类(Clothes)、类别类(Kinds)、留言类(Messages)、新闻类(News)、订单类(Orders)、图片类(Pictures)、品牌类(TradeMarks)、用户类(Users),系统类图如图4.2所示。 图4.2 系统类图 4.

27、4 软件体系结构设计 本系统软件层的结构可分为以下4层。 l 表示层:提供与用户交互的界面。 l 业务逻辑层:实现各种业务逻辑。 l 持久化层(Hibernate):封装了数据访问的细节,为业务逻辑层提供了面向对象的API。 l 数据库层:负责存放和管理应用的持久性业务数据。 软件体系结构如图4.3所示。 表示层 图4.3 软件体系结构图 第5章 系统详细设计 详细设计的工作包括输入输出设计和界面设计,即根据总体设计的每个功能模块要求和数据库的逻辑结构,利用相应的开发工具设计出应用系统的过程。 5.1 输入输出设计 输入输出是系统与用户的主要交互界面,其

28、设计的好坏直接影响系统的性能,这里力求达到界面友好、信息直观和操作方便。 1. 后台管理→用户管理→添加用户 图5.1所示为添加用户的界面,包括全部用户信息。其用户级别为一下拉列表,用户分为两类,即系统用户和普通用户,可由用户选择;其他栏目由用户输入。 图5.1 添加用户界面 2. 后台管理→类别/品牌→添加类别 图5.2所示为后台管理的添加类别界面。类别的中文名和英文名由用户输入,例如:牛仔服、针织、西装、裙装等;类别所属大类以下拉列表的形式供用户选择,包括女装、男装、童装等。 3. 后台管理→类别/品牌→添加品牌 图5.3所示为后台管理的添加品牌界面,可通过该界面为经营

29、的服装品牌添加信息。 图5.2 添加类别界面 图5.3 添加品牌界面 4. 后台管理→产品管理→添加产品 图5.4所示为后台管理的添加产品界面,可通过该界面为服装的产品添加信息。查看级别规定了能查看该产品的用户;产品类别包括产品所属的大类和小类,小类在前,大类在后。 图5.4 添加产品界面 5. 前台展示→用户注册 图5.5所示为用户的注册界面,用户通过该界面输入个人信息。 图5.5 用户注册界面 6. 前台展示→生成订单 图5.6所示为前台用户的生成订单界面。当用户选择了产品且输入了数量后,单击“

30、添加该产品”按钮即可生成一订单条目,用户确认订单条目后,单击“提交该订单信息”按钮即可提交订单。单击“清除该订单信息”按钮将清除订单信息。 图5.6 生成订单界面 5.2 界面设计 界面是软件的门面,应达到美观、舒适、操作方便、信息准确全面、结构合理等标准。 1. 后台管理界面 后台管理界面采用传统的菜单管理框架,如图5.7所示。 图5.7 后台管理界面 2. 前台系统首页 用户一打开该网站,就应通过登录首页对该网站的功能一目了然,网站的背景采用精美的时装造型吸引顾客的注意力。用户可以根据“男装”、“女装”、“童装”等不同的类别浏览该企业的产品信息,也可以通过“品

31、牌”的分类来浏览企业的产品信息。“联系我们”提供了该企业的相关信息,“留言板”使用户可以方便的留下意见和建议。 前台系统首页如图5.8所示。 图5.8 前台系统首页 3. 前台主要展示界面 产品展示界面为用户浏览商品信息的主要界面。按不同的分类浏览(女装、男装、童装、品牌),不同的分类其商品信息也不同,但功能风格相同,在这里只给出女装的展示界面。每种产品都以小图片和简介的形式展示,单击“查看详情”按钮可以查看商品的详细信息和放大图片,以直观的形式介绍产品。另外在该界面中,用户可以直接注册和登录,还有企业的常用联系方式、商品的类别,从而为用户的操作提供了方便。 产品展示界面如图5.

32、9所示。 图5.9 产品展示界面 第6章 系统代码设计 6.1 软件的体系结构 本系统软件层结构分为4层:即表示层、业务逻辑层、持久化层和数据库层。各层实现的具体方法如下。 1. 表示层 表示层提供与用户交互的界面,用Web页面实现。 2. 业务逻辑层 业务逻辑层实现各种业务逻辑。这一层在系统中的体现是分为两个方面的: ① 封装并且分层的纯Java应用程序,为②提供API,相当于做成组件的形式。 ② 在Web页面中实现各种业务,在这里调用①中提供的各种接口。 其中,在①里提到的纯Java应用程序又分为两类:即持久化类和业务逻辑类,下面将分别进行介绍。 (1)持

33、久化类 Hibernate提供了从映射文件到Java源代码的转换工具,名为hbm2java工具。执行该任务的Java类为net.sf.hibernate.tool.hbm2java.CodeGenerator,可以用ANT工具来运行它,在build.xml文件中定义codegen target,代码如下: 运行codegen target,只需要在DOS命令下进入clothes根目录,然后输入如下命令: ant codegen 以上命令会自动创建***.java和***Finder.java文件,如Clothes.java

36、ClothesFinder.java等,如图6.1所示。 图6.1 创建文件 (2)业务逻辑类 业务逻辑类相当于实现业务。它提供接口,以供调用,业务逻辑类分为两层。 l FatherService.java是父类。 l ClothesService.java、ClothesOrdersService.java、KindsService.java、MessagesService.java、NewsService.java、OrdersService.java、PicturesService.java、TradeMarksService.java、UsersService.jav

37、a是其子类。 下面为FatherService.java的源代码: package mypack; import javax.servlet.*; import net.sf.hibernate.*; import net.sf.hibernate.cfg.Configuration; import java.io.*; import java.sql.Date; import java.sql.Timestamp; import java.util.*; public class FatherService { public static SessionFactor

38、y sessionFactory; static { Try { Configuration config=new Configuration(); config.addClass(Users.class); config.addClass(Clothes.class); config.addClass(ClothesOrders.class); config.addClass(News.class); config.addClass(Orders.clas

39、s); config.addClass(Pictures.class); config.addClass(TradeMarks.class); config.addClass(Messages.class); config.addClass(Kinds.class); config.addClass(Caipiao.class); sessionFactory=config.buildSessionFactory(); }catch(Exception e){ e.printSt

40、ackTrace(); } } } 提示:一个SessionFactory实例对应一个数据存储源,应用从SessionFactory中获得session实例。它是线程安全的,同一个实例可被多个线程共享,它是重量级的,意味着不能随便创建和销毁SessionFactory实例。 3. 持久化层(Hibernate) 封装了数据访问的细节,为业务逻辑层提供了面向对象的API。本系统应用的是Hibernate ,如图6.2所示。 注意:此处只示意一个实体类对应一个表的情况,其他情况依此类推。 图6.2 应用Hibernate 4. 数

41、据库层 数据库层负责存放和管理应用的持久性业务数据。Hibernate提供了从映射文件到数据库Schema的转换工具,即hbm2ddl。执行该任务的Java类为net.sf.hibernate.tool.hbm2ddl.SchemaExportTask。在本系统中是应用ANT工具来运行它的,首先在build.xml中定义schema target,代码如下:

42、 description="Generate DB schema from the O/R mapping files">

43、port properties="${class.root}/hibernate.properties" quiet="no" text="no" drop="no" output="schema/sampledb.sql"delimiter=";"> 运行schema target 的步骤如下。 步骤1:启动MySQL服务器。 步

44、骤2:通过mysql.exe客户程序创建SAMPLEDB数据库,SQL命令为: Create database SAMPLEDB; 步骤3:在DOS命令下进入clothes根目录,然后输入如下命令: ant schema  6.2 关键问题代码设计(1)——验证码技术 为防止用户利用机器自动注册、登录以及灌水,故而采用了验证码技术。所谓验证码,就是将一串随机产生的数字或符号生成一幅图片,图片里加上一些干扰元素(防止OCR),由用户肉眼识别其中的验证码信息并输入表单,再提交给网站验证,验证成功后才能使用某项功能。 验证码的实现流程是: l 服务器端随机生成验证码字符串,保存在内存

45、中,并写入图片,发送给浏览器端显示。 l 浏览器端输入验证码图片上的字符,然后提交服务器端,提交的字符与服务器端保存的字符进行比较,若一致就继续,不一致则返回提示。 攻击者编写的robot程序很难识别验证码字符,所以不能顺利的完成自动注册、登录以及其他操作。用户可以识别填写,这就实现了阻挡攻击的作用。 图片的字符识别就是看图片上的干扰强度了。就实际的效果来说,验证码只是增加攻击者的难度,而不可能完全的防止。 6.3 关键问题代码设计(2)——图片等比例缩放 这个技术在网络上早就已经不是秘密了,而且采用千篇一律的代码,之所以会把这段程序放在这里,是因为在后期测试的时候发现原来展示的图

46、片都变了形,于是要想办法保证图片不能失真,我通过查找资料解决了这个问题,代码如下: 6.4 关键问题代码设计(3)——数据库连接池 Hibernate提供了默认的连接池实现,它的实现类为DriverManagerConnectionProvider,如果在Hibernate的配置文件中没有明确配置任何连接池,那么Hibernate就会使用这个默认的连接池。如下代码为H

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服