董宝俊论文.docx

上传人:b****5 文档编号:11978065 上传时间:2023-04-16 格式:DOCX 页数:39 大小:912.43KB
下载 相关 举报
董宝俊论文.docx_第1页
第1页 / 共39页
董宝俊论文.docx_第2页
第2页 / 共39页
董宝俊论文.docx_第3页
第3页 / 共39页
董宝俊论文.docx_第4页
第4页 / 共39页
董宝俊论文.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

董宝俊论文.docx

《董宝俊论文.docx》由会员分享,可在线阅读,更多相关《董宝俊论文.docx(39页珍藏版)》请在冰豆网上搜索。

董宝俊论文.docx

董宝俊论文

第一章绪论

第二章 中国优秀硕士学位论文全文数据库

1.1课题的背景

1.2课题的意义(于东超基于Struts2_Sping_Hibernate三种框架的通用Web框架的研究及应用硕士论文网)

1.3网上够物系统的国内外现状(

1.3课题来源和主要研究的工作(黄栎桥轻量级框架在网上购物系统中的应用研究硕士论文网)

第三章Struts框架

2.1MVC思想概述

2.1.1MVC设计模式(陈涵基于MVC模式的Structs框架研究2009年10月中国期刊全文数据库)

2.1.2MVC思想及其优势(赵铠基于MVC模式和Struts框架的Web应用设计与实现中国期刊全文数据库2009)

2.2Structs2框架的体系介绍(孙卫琴精通Struts2)

2.2.1Struts框架架构

2.2.2Structs2的配置文件

2.2.3 Strut2的标签库

2.2.4 Struts2的控制器组件

2.3Structs2的基本流程(李刚 Struts2.1权威指南)

2.3.1 核心控制器:

FilterDispatcher

2.3.2业务控制器

2.3.3 Struts2的视图组件

2.4Struts2的基本配置(BudiKurniawan深入浅出Struts2)

2.4.1 配置web.xml文件

2.4.2 struts.xml配置文件

2.4.3 struts.properties配置文件

第四章网上购物系统的需求分析及总体设计(老师资料)

3.1系统的需求分析

3.2建立用例模型

3.2.1系统前台用例

3.2.2系统后台用例

3.3系统各模块的简要分析设计

3.3.1用户注册

3.3.2用户登录

3.3.3商品交易

3.3.4用户信息自维护模块

3.4用户界面模型的设计分析

第四章网上购物系统的的详细设计

4.1够物系统主界面的设计

4.2注册模块的设计

4.3商品查询浏览模块的设计

4.4登陆模块的设计

4.5够物车模块的设计

4.6生成定单模块的设计

第五章总结(王伟基于Web的远程教育平台的设计与实现硕士论文)

第一章绪论

1.1课题的背景

随着计算机和网络技术的高速发展,人们的生活发生了日新月异的变化,一切原本属于现实生活中的行为方式慢慢地向网络转移,传统的购物方式也正在转向网络方面发展,出现了“网上购物”这种越来越受欢迎的新型消费方式。

 网上购物的发展趋势已经不容小觑。

我们来看相关的一组数据,前几年中国网民数量在9000万左右,而2006年据统计已经突破了1亿,也就等于说,在10个人里面就有一人是网民。

而在这1亿网民当中,有3000万左右是网络消费者,这个数字还在不断地增加。

“网上购物已成为在线业务的重要载体,它与传统购物方式相比有其自身优势,突破了时间和地域的限制,客户不出家门就可随时都可在线选购喜欢的商品。

因此网上购书店的开设成了一个必然的趋势[1]。

网上购物在我国尚属新生事物,任何新生事物从萌芽到发展壮大都需要相当长的培育期。

据调查,目前国内网上音像店系统有不少,像当当图书等都提供网上购买服务,但是当前的很多网上购物系统还很不完善,很多网上购物系统功能单一、界面俗套。

在信息化社会中,计算机的应用日益广泛,各行各业在进行信息处理时,都把提高工作质量和效益放在首位。

这就要求我们除了提高硬件级别的同时,也要设计出具有高速度,多功能的软件来。

因此,在这样一个信息时代,如何来利用现代化的工具---网络,来为我们服务,来提高我们的经济收益已成为当务之急。

针对现在中小型的购物店较多的实际情况,我设计的是基于网上的购物系统。

用户可以根据自己的喜好浏览自己喜欢的物品,但要想购买商品,就必须通过注册成为会员才能进行购买,登陆后就可以购物了。

商店的各种物品都进行了详细地分类,可以轻松地找到想要的物品,同时查找系统能很容易地找到相关的物品。

同时买到自己喜欢的东西后就可以实现网上结算,通过网上订单你可以填写自己的相关信息,从而完成异地购物。

1.2课题的意义

随着多媒体技术和网络通信技术的发展,基于Internet的网上购物作为传统商店一种全新的销售手段,越来越受到人们的关注。

网上购物店使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。

同时人们不受时间的限制,不受空间的限制,不受传统购物的诸多限制,可以随时随地在网上交易。

还提供了更广阔的市场:

在网上这个世界将会变得很小,一个商家可以面对全球的消费者,而一个消费者可以在全球的任何一家商家购物。

更快速的流通和低廉的价格:

网上购物减少了商品流通的中间环节,节省了大量的开支,从而也大大降低了商品流通和交易的成本。

更符合时代的要求:

如今人们、讲究个性,注重购物的环境,网上购物,更能体现个性化的购物过程。

由上可知,该系统有以下几方面的优点:

第一,突破了商品购买的时间限制:

网络上的计算机可以一天24小时,天天为客户提供完善的网络服务,而且可以提供给全国各地的消费者,以最快的速度将公司物品的外观、内容、价格及相关信息提供给客户。

第二,节省商家营运成本:

网上商店本身没有店面,减少了商家的管理费用,同时,网上购物系统精简了办公程序,促进了管理的规范化。

第三,提高了客户购物的积极性:

顾客利用网上购物,可以很快的找到所需的物品,在网上提交订单后,如果是在本地,物品当天就会送到顾客手中,节省了顾客的购物时间和精力[2]。

1.3网上购物系统的国内外现状

1.3.1国内现状

从中国的整体情况来看,网上商店如今已经进入了一个相对平稳的发展阶段。

现在网上商店在国内还是新事物,当前整个B2C产业还处在刚刚起步阶段,因此,不可避免地遇到一些困难,其中主要是资金流、信息流和物流等方面。

B2C企业大部分还没有从套取资本的投机心理中转变过来,没有去认真的做符合中国国情的商业模式,但随着网上商店的普及和人们消费观念的改变,今后也很有发展潜力[4]。

1.3.2国外现状

戴尔公司以成为世界上最大的计算机生产商,它的一个财政年度的销售额就超过90亿美元。

以美国得克萨斯州Round Roch为生产基地的戴尔公司,如今向140多个国家的包括大公司、政府机构、商业和教育机构到小公司和个人销售其产品和服务。

根据美国一家权威机构的统计,戴尔2001年一季度的个人电脑销售额占全球总量的13.1%,仍高居世界第一,其中利用电子商务网站销售成功的电脑占了很大的比重。

戴尔网站每天销售约值3500万美元的产品和服务,每年约合120亿美元,占公司收益的43%[5]。

1.4课题来源和主要研究的工作

本文课题以基于J2EE的网上购物系统项目的实际开发为背景,针对中小型企业和J2EE轻量级开发现状和问题,结合企业的实际业务流程,探讨如何利用现有开源技术框架实现Web应用松耦合的目的,探讨轻量级Web应用的开发过程及在Spring框架中如何实现与其他框架的更好的集成。

在阐述系统实现的框架技术的基础上,进行了基于Struts、Spring与Hibernate集成框架的轻量级Web应用分析与设计。

系统框架基于MVC实现机制,表现层采用Struts;业务逻辑层使用Spring框架的IoC机制进行整合;持久化层使用Hibernate框架(由SpringORM模块提供)实现映射。

本人在项目中担任主研人员,负责控制逻辑、业务层模型、持久层对象和基于SpringAOP的权限控制的设计与实现。

本文课题的目标在于重用和再包装现有的流行框架(Hibernate、Spring、Struts),使其形成一个具有一定集成度的软件开发架构;并在某些方面作一些创

新,延伸出一些新的特性。

这样将减少开发过程中各个领域间的整合所需工作量,降低开发的风险。

就架构的设计思想在多层Web应用中的作用本文作较深入的探讨,为实现高效、灵活的多层Web体系结构的应用提供一种新的思路及方法[6]。

本文课题也在集成架构的基础上,开发一个实际项目,具体说明如何将Struts

动作委托给Spring;如何实现Struts和Spring之间的解耦;说明在Spring的AOP的基础上创新,给出一个基于SpringAOP的权限控制的实现。

本文的重点在于针对现目前J2EE轻量级应用与开发,在集成现有开源框架的基础上提出进一步的思考:

如何在系统设计与实现的过程中运用好的设计模式和实现技术,开发出高效、健壮、扩展性强、系统层次间松耦合的应用程序。

 

第二章Structs2框架

2.1MVC思想概述

2.1.1MVC设计模式

MVC(Model-View-Controller)即模型-视图-控制器,MVC模式是XeroxPARC在20世纪80年代为编程语言Smalltalk-80所设计的一种软件设计模式,至今已被广泛使用,最近几年被推荐为Sun公司J2EE平台的设计模式,并为其开发交互式应用系统提供了一个优秀的设计模式,受到越来越多开发者的欢迎。

MVC设计模式要求在应用开发中把商业逻辑、界面显示和数据分离,增加代码的重用率,减少数据表达、数据描述和应用操作的耦合度。

MVC模式主要由3个部分组成:

模型、视图和控制器,每部分都有各自功能作用,MVC体系结构如图1所示。

2.1.2MVC思想及其优势

MVC并不是Java语言所特有的设计思想,也并不是Web应用所特有的思想,它是所有面向对象程序设计语言都应该遵守的规范。

MVC思想将一个应用分成三个基本部分:

Model(模型)、View(视图)和Controller(控制器),这三个部分以最少的耦合协同工作,从而提高应用的可扩展性及可维护性。

起初,MVC模式是针对相同的数据需要不同显示的应用而设计的。

在经典的MVC模式中,事件由控制器处理,控制器根据事件的类型改变模型或视图,反之亦然。

具体地说,每个模型对应一系列的视图列表,这种对应关系通常采用注册来完成,即:

把多个视图注册到同一个模型,当模型发生改变时,模型向所有注册过的视图发送通知,接下来,视图从对应的模型中获得信息,然后完成视图显示的更新。

从设计模式的角度来看,MVC思想非常类似于一个观察者模式,但与观察者模式存在少许差别:

观察者模式下观察者和被观察者可以是两个互相对等的对象,但对于MVC思想而言,被观察者往往只是单纯的数据体,而观察者则是单纯的视图页面。

概括起来,MVC有如下特点:

1)可以为一个模型在运行时同时建立和使用多个视图、变化2传播机制可以确保所有相关的视图及时得到模型数据变化,从而使所有关联的视图和控制器做到行为同步.

2)视图与控制器的可接插性,允许更换视图和控制器对象,而且可以根据需求动态的打开或关闭、甚至在运行期间进行对象替换.

3)模型的可移植性.因为模型是独立于视图的,所以可以把一个模型独立地移植到新的平台工作.需要做的只是在新平台上对视图和控制器进行新的修改.

4)潜在的柜架结构.可以基于此模型建立应用程序框架,不仅仅是用在设计界面的设计中.

5)可扩展性.控制器和视图可以随着模块的扩展进行相应的扩展.

相对于早期的MVC思想,Web模式下的MVC思想则又存在一些变化,因为对于一个应用程序而言,我们可以将视图注册给模型,当模型数据发生改变时,即时通知视图页面发生改变;而对于Web应用而言,即使将多个JSP页面注册给一个模型,当模型发生变化时,模型无法主动发送消息给JSP页面(因为Web应用都是基于请求/响应模式的),只有当用户请求浏览该页面时,控制器才负责调用模型数据来更新JSP页面。

2.2Structs2框架的体系介绍

2.2.1Structs框架架构

Struts2同样使用拦截器作为处理(Advice),以用户的业务逻辑控制器为目标,创建一个控制器代理。

控制器代理负责处理用户请求,处理用户请求时回调业务控制器的execute方法,该方法的返回值将决定了Struts2将怎样的视图资源呈现给用户。

Struts2框架的大致处理流程如下:

1.浏览器发送请求,例如请求/mypage.action、/reports/myreport.pdf等。

2.核心控制器FilterDispatcher根据请求决定调用合适的Action。

3.WebWork的拦截器链自动对请求应用通用功能,例如workflow、validation或文件上传等功能。

4.回调Action的execute方法,该execute方法先获取用户请求参数,然后执行某种数据库操作,既可以是将数据保存到数据库,也可以从数据库中检索信息。

实际上,因为Action只是一个控制器,它会调用业务逻辑组件来处理用户的请求。

5.Action的execute方法处理结果信息将被输出到浏览器中,可以是HTML页面、图像,也可以是PDF文档或者其他文档。

此时支持的视图技术非常多,既支持JSP,也支持Velocity、FreeMarker等模板技术。

2.2.2Structs2的配置文件

当Struts2创建系统的Action代理时,需要使用Struts2的配置文件。

Struts2的配置文件有两份:

1)配置Action的struts.xml文件。

2)配置Struts2全局属性的struts.properties文件。

struts.xml文件内定义了Struts2的系列Action,定义Action时,指定该Action的实现类,并定义该Action处理结果与视图资源之间的映射关系。

2.2.3 Strut2的标签库

Struts2的标签库也是Struts2的重要组成部分,Struts2的标签库提供了非常丰富的功能,这些标签库不仅提供了表现层数据处理,而且提供了基本的流程控制功能,还提供了国际化、Ajax支持等功能。

通过使用Struts2的标签,开发者可以最大限度地减少页面代码的书写。

看下面的JSP页面的表单定义片段:

-- 定义一个Action-->

                                

--下面定义三个表单域-->

   名字:


   年纪:


   喜欢的颜色:


                                

--定义一个输出按钮-->

   

上面页面使用了传统的HTML标签定义表单元素,还不具备输出校验信息的功能,但如果换成如下使用Struts2标签的定义方式:

--使用Struts2标签定义一个表单-->

formmethod="post"action="basicvalid.action">

                                

--下面使用Struts2标签定义三个表单域-->

                                

textfieldlabel="名字"name="name"/>

                                

textfieldlabel="年纪"name="age"/>

                                

textfieldlabel="喜欢的颜色"name="answer"/>

                                

--定义一个提交按钮-->

                                

submit/>

form>

则页面代码更加简洁,而且有更简单的错误输出。

图2.1是上面使用Struts2标签执行数据校验后的输出。

图2.1使用Struts2标签的效果

 

2.2.4 Struts2的控制器组件

Struts2的控制器组件是Struts2框架的核心,事实上,所有MVC框架都是以控制器组件为核心的。

正如前面提到的,Struts2的控制器由两个部分组成:

FilterDispatcher和业务控制器Action。

实际上,Struts2应用中起作用的业务控制器不是用户定义的Action,而是系统生成的Action代理,但该Action代理以用户定义的Action为目标。

通过查看Action代码,发现该Action比WebWork中的Action更彻底,该Action无需实现任何父接口,无需继承任何Struts2基类,该Action类完全是一个POJO(普通、传统的Java对象),因此具有很好的复用性。

归纳起来,该Action类有如下优势:

1.Action类完全是一个POJO,因此具有很好的代码复用性。

2. Action类无需与ServletAPI耦合,因此进行单元测试非常简单。

3. Action类的execute方法仅返回一个字符串作为处理结果,该处理结果可映射到任何的视图,甚至是另一个Action。

2.3Structs2的基本流程

大致上,Struts2框架由3个部分组成:

核心控制器FilterDispatcher、业务控制器和用户实现的业务逻辑组件。

在这3个部分里,Struts2框架提供了核心控制器FilterDispatcher,而用户需要实现业务控制器和业务逻辑组件。

2.3.1 核心控制器:

FilterDispatcher

FilterDispatcher是Struts2框架的核心控制器,该控制器作为一个Filter运行在Web应用中,它负责拦截所有的用户请求,当用户请求到达时,该Filter会过滤用户请求。

如果用户请求以action结尾,该请求将被转入Struts2框架处理。

Struts2框架获得了*.action请求后,将根据*.action请求的前面部分决定调用哪个业务逻辑组件,例如,对于login.action请求,Struts2调用名为login的Action来处理该请求。

Struts2应用中的Action都被定义在struts.xml文件中,在该文件中定义Action时,定义了该Action的name属性和class属性,其中name属性决定了该Action处理哪个用户请求,而class属性决定了该Action的实现类。

Struts2用于处理用户请求的Action实例,并不是用户实现的业务控制器,而是Action代理——因为用户实现的业务控制器并没有与ServletAPI耦合,显然无法处理用户请求。

而Struts2框架提供了系列拦截器,该系列拦截器负责将HttpServletRequest请求中的请求参数解析出来,传入到Action中,并回调Action的execute方法来处理用户请求。

显然,上面的处理过程是典型的AOP(面向切面编程)处理方式。

可以看出,用户实现的Action类仅仅是Struts2的Action代理的代理目标。

用户实现的业务控制器(Action)则包含了对用户请求的处理。

用户的请求数据包含在HttpServletRequest对象里,而用户的Action类无需访问HttpServletRequest对象。

拦截器负责将HttpServletRequest里的请求数据解析出来,并传给业务逻辑组件Action实例。

2.3.2业务控制器

正如从图3.19所看到的,业务控制器组件就是用户实现Action类的实例,Action类里通常包含了一个execute方法,该方法返回一个字符串——该字符串就是一个逻辑视图名,当业务控制器处理完用户请求后,根据处理结果不同,execute方法返回不同字符串  ——每个字符串对应一个视图名。

程序员开发出系统所需要的业务控制器后,还需要配置Struts2的Action,即需要配置Action的如下三个部分定义:

1 Action所处理的URL。

2 Action组件所对应的实现类。

3Action里包含的逻辑视图和物理资源之间的对应关系。

每个Action都要处理一个用户请求,而用户请求总是包含了指定URL。

当FilterDispatcher拦截到用户请求后,根据请求的URL和Action处理URL之间的对应关系来处理转发。

Struts2的模型组件

实际上,模型组件已经超出了MVC框架的覆盖范围。

对于Struts2框架而言,通常没有为模型组件的实现提供太多的帮助。

JavaEE应用里的模型组件,通常指系统的业务逻辑组件。

而隐藏在系统的业务逻辑组件下面的,可能还包含了DAO、领域对象等组件。

通常,MVC框架里的业务控制器会调用模型组件的方法来处理用户请求。

也就是说,业务逻辑控制器不会对用户请求进行任何实际处理,用户请求最终由模型组件负责处理。

业务控制器只是中间负责调度的调度器,这也是称Action为控制器的原因。

2.3.3 Struts2的视图组件

Struts2已经改变了Struts1只能使用JSP作为视图技术的现状,Struts2允许使用其他的模板技术,如FreeMarker、Velocity作为视图技术。

当Struts2的控制器返回逻辑视图名时,逻辑视图并未与任何的视图技术关联,仅仅是返回一个字符串,该字符串作为逻辑视图名。

当我们在struts.xml文件中配置Action时,不仅需要指定Action的name属性和class属性,还要为Action元素指定系列result子元素,每个result子元素定义一个逻辑视图和物理视图之间的映射。

前面所介绍的应用都使用了JSP技术作为视图,故配置result子元素时没有指定type属性,默认使用JSP作为视图资源。

如果需要在Struts2中使用其他视图技术,则可以在配置result子元素时,指定相应的type属性即可。

例如,如果需要使用FreeMarker,则为result指定值为freemarker的type属性;如果想使用Velocity模板技术作为视图资源,则为result指定值为velocity的type属性……

2.4Struts2的基本配置

2.4.1 配置web.xml文件

任何MVC框架都需要与Web应用整合,这就不得不借助于web.xml文件,只有配置在web.xml文件中Servlet才会被应用加载。

通常,所有的MVC框架都需要Web应用加载一个核心控制器,对于Struts2框架而言,需要加载FilterDispatcher,只要Web应用负责加载FilterDispatcher,FilterDispatcher将会加载应用的Struts2框架。

因为Struts2将核心控制器设计成Filter,而不是一个普通Servlet。

故为了让Web应用加载FilterDispacher,只需要在web.xml文件中配置FilterDispatcher即可。

配置FilterDispatcher的代码片段如下:

--配置Stru

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 自考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1