Java开源架构技术学习重点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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()方法来处理用户请求。