Java开源架构技术学习重点

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

第一章 Strut2框架技术的入门

1、Struts2的是怎么产生的?

Struts是Apache软件基金会的一种基于经典MVC模式的框架。它的目的是为了帮助程序开发人员减少使用MVC设计模型来开发web应用所耗费的时间。

Struts1框架由于与JSP、Servlet耦合非常紧密,出现了很多严重的问题。

Struts2是在struts1与WebWork框架基础上进行整合的全新的struts框架,它是以webwork为核心。采用拦截器机制来处理用户的请求。

优点:这样的设计使得业务逻辑控制器能够与Servlet完全脱离开。

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

Struts2采用MVC模式。

MVC模式是指model,view,controller,即模型、视图、控制器。

模型包括业务逻辑层和数据库访问层,一般由JavaBean或EJB构建,是业务流程或状态的处理以及业务规则的制定。

视图是表示层,是与用户交互的界面,通常实现数据输入和输出功能。

控制器由Servlet组成,起到控制整个业务流程的作用,实现view层和model 层的协调工作。

分层式设计可以达至如下目的:分散关注、松散耦合、逻辑复用、标准定义。MVC设计模式工作流程是:

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

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

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

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

菜单MyEclipse→Project Capabilities→Add Struts Capabilities→选择struts2版本→选择struts2类库。

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

客户经过视图层提交请求到服务器,请求被提交到一系列的过滤器或拦截器,最后到达核心控制器FilterDispather,FilterDispather读取配置文件struts.xml,根据配置信息调用某个Action来处理客户请求,Action调用模型层Java bean等处理后,返回处理结果,FilterDispather根据struts.xml的配置找到对应的页面返回处理结果。

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

Struts2框架按照MVC的设计思想把Java Web应用程序分为:控制器层

(Controller),包括核心控制器FilterDispather和业务控制器Action;模型层(Model),包括业务逻辑组件和数据库访问组件;视图层(View),包括HTML,JSP,Struts2的标签等。

控制器组件的主要功能是从客户端接收数据、调用模型(JavaBean)进行数据处理以及决定返回给客户某个视图。

FilterDispather是一个过滤器,是struts2的核心控制器,控制着整个java web项目中数据的流向和操作。FilterDispather需要在web.xml中进行配置。

模型组件有可以实现业务逻辑的模块,如JavaBean、POJP或EJB。

视图组件有HTML、JSP、struts2标签、FreeMarker、Velocity等。

补充:在MVC设计模式中控制器部分是Servlet。

第二章 Struts2核心组件

2、常量如何配置?

也可以在struts.properties和web.xml中配置

加载顺序,后面的覆盖前面的

struts-default.xml → struts.xml→struts.properties → web.xml

3、包含如何配置?

被导入的文件格式必须同struts.xml一样

注:包含配置能够避免开发复杂项目的时候配置的struts.xml过于庞大,导致读取配置文件速度较慢,同时有利于模块化开发。

4、包如何配置?可以有哪些属性?哪些属性是必填的?这些属性的默认值或

一般配置值是什么?

….

1.name:必选项,指定包名,是供其他包继承时使用的属性。

2.extends:必选项,一般为”struts-default”指定要继承的包名。3.namespace 可选项,定义包的名称空间。

4.abstract 可选项,指定该包是否是一个抽象包,如果是,则包中不能定义action。

注:在struts2框架中,是通过包配置来管理action和拦截器的,可以在包中配置多个action和拦截器。

5、Action如何配置?可以有哪些属性?哪些属性是必填的?这些属性的默认

值或一般配置值是什么?

必选项,指定客户端发送请求的地址名称。

2.class 可选项(默认是ActionSupport),指定action对应的实现类。

3.method 可选项,指定action类中处理方法名,如get方法或post方法等。

4.converter 可选项,指定action类型转换器的完整类名。

注:struts2框架提供了一系列拦截器,该一系列拦截器负责将HttpServletRequest 请求中的请求参数解析出来,传入到action中,并通过action的execute()方法来处理用户请求。

相关文档
最新文档