Java开源架构技术学习重点(部分答案版)(1)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章 Strut2框架技术的入门

1、Struts2的是怎么产生的?

Struts2是Struts的下一代产品,是在Struts1和WebWork的技术基础上进行了合并,全新的Struts2框架。其全新的Struts2的体系结构与Struts1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。因此Struts2和Struts 1有着太大的变化,但是相对于WebWork,Struts2只有很小的变化。

2、Struts2的设计模式是什么?采用这种设计模式有什么好处?

MVC模式

MVC模式对于Web应用的开发无疑是一种非常先进的设计思想,无论选择

哪种语言,无论应用多复杂,它都能为理解分析应用模型提供最基本的分析方法,

为构造产品提供清晰的设计框架,为软件工程提供规范的依据。

1. 模型(Model)

Model 部分包括业务逻辑层和数据库访问层。在Java Web 应用程序中,业务逻辑层一般由JavaBean或EJB构建。Model 部分就是业务流程或状态的处理以及业务规则的制定。业务流程的处理过程对其他层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的组件。MVC并没有提供模型的设计方法,而只提供给用户应该组织管理这些模型,以便于模型的重构和提高重用性。

2. 视图(View)

在Java Web 应用程序中,View 部分一般用JSP 和HTML 构建,也可以是XHTML、XML、Applet和JavaScript。客户在View 部分提交请求,在业务逻辑层处理后,

把处理结果又返回给View部分显示出来。因此,View部分也是Java Web应程序的用户界面。一个Web项目可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理以及响应用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理由模型负责。

3. 控制(Controller)

Controller 部分由Servlet 组成。当用户请求从View 部分传过来时,Controller 把该请求发给适当的业务逻辑组件处理;请求处理完成后,又返回给Controller。Controller再把处理结果转发给适当的View 组件显示或者调用Model。因此,Controller 在视图层与业务逻辑层之间起到了桥梁作用,控制了两者之间的数据流向。

模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其他依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,使显示得到及时更新。

MVC设计模式工作流程是:

用户的请求(V)提交给控制器(C);

控制器接受到用户请求后根据用户的具体需求,调用相应的JavaBean或者EJB (M部分)来进行处理用户的请求;

控制器调用M处理完数据后,根据处理结果进行下一步的调转,如跳转到另外一个页面或者其他Servlet。

3、在MyEclipse环境下怎么配置Struts2?

在MyEclipse9.1中已经集成了Struts2的插件,直接使用就可以。新建一个项目“ch01”后,单击“MyEclipse”->“Project Capabilities”->“Add Struts Capabilities”,如图1-22所示,弹出对话框如图1-23所示的对话框,在图1-23中选择“Struts2.1”后弹出另外一个对话框,在该对话框中单击“Next”,弹出如图1-24对话框。在图1-24中可以选择Struts2类库,进行选择后点击“打开”,Struts2类库在MyEclipse项目中配置完成。配置完成后,在“ch01”项目中将自动添加一个Struts2的包“Struts2 Core Libraries”。如需使用Struts2的最新版本,可以在该包中导入。

图1-22

图1-23

4、Struts2的工作原理是什么?

图1-26

Struts2的工作原理如图1-26所示,用户请求提交后经过多个拦截器拦截后交给核心控制器FilterDispatcher处理,核心控制器读取配置文件struts.xml,根据配置文件的信息指定某一个业务控制器Action(POJO类)来处理用户数据,业务控制器调用某个业务组件进行处理,在处理的过程中可以调用其他模型组件共同完成数据的处理。Action处理完后会返回给核心控制器FilterDispatcher一个处理结果,核心控制器根据返回的处理结果读取配置文件struts.xml,根据配置文件中的配置,决定下一步跳转到哪一个页面。

5、Struts2的核心组件是什么?怎么配置?P15

1.FilterDispatcher控制器

FilterDispatcher是一个过滤器,是Struts2的核心控制器,控制着整个Web 项目中数据的流向和操作。

与Web应用程序整合的MVC框架需要web.xml配置文件。基于MVC的Web框架需要在Web应用程序中加载一个核心控制器,Struts2框架需要加载FilterDispatcher,需在web.xml中进行配置。

除了web.xml配置文件配置核心控制器FilterDispatcher外,Struts2控制数据的操作时,还需要Struts2本身的配置文件struts.xml。

2. struts.xml配置文件

在Struts2中核心的配置文件是struts.xml,用户请求提交给核心控制器FilterDispatcher后,具体由那个业务控制器Action来完成,是struts.xml 配置文件中配置的,根据配置文件struts.xml中的数据,核心控制器FilterDispatcher调用某个业务控制器Action来完成数据的处理,处理完数据后把处理结果通过其他对象返回给核心控制器FilterDispatcher,核心控制器根据struts.xml配置文件的数据,决定下一步的操作。

所以Struts2中struts.xml是核心配置文件,在控制器操作中起到关键作用。

3.Action控制器

Action是Struts2的业务控制器,可以不实现任何接口或者继承Struts2类,该Action类是一个基本的Java类,具有很高的可重用性。Action中不实现任何业务逻辑,只负责组织调度业务模型组件。

第二章 Struts2核心组件

1、struts.xml的文件结构,根标签是,其中可以带哪些子标签?

struts.xml配置文件的基本结构(struts.xml)

"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "/dtds/struts-2.0.dtd">

相关文档
最新文档