1 / 11
文档名称:

struts2面试题自己总结.docx

格式:docx   大小:101KB   页数:11页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

struts2面试题自己总结.docx

上传人:wz_198613 2019/7/2 文件大小:101 KB

下载得到文件列表

struts2面试题自己总结.docx

相关文档

文档介绍

文档介绍:Struts2面试题1、struts2工作流程Struts2框架本身大致可以分为3个部分:核心控制器FilterDispatcher、业务控制器Action和用户实现的企业业务逻辑组件。核心控制器FilterDispatcher是Struts2框架的基础,包含了框架内部的控制流程和处理机制。业务控制器Action和业务逻辑组件是需要用户来自己实现的。用户在开发Action和业务逻辑组件的同时,还需要编写相关的配置文件,供核心控制器FilterDispatcher来使用。Struts2的工作流程相对于Struts1要简单,与WebWork框架基本相同,所以说Struts2是WebWork的升级版本。基本简要流程如下:1、客户端初始化一个指向Servlet容器的请求;2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMeshPlugin)3、接着FilterDispatcher被调用, FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action4、如果ActionMapper决定需要调用某个Action, FilterDispatcher把请求的处理交给ActionProxy5、ActionProxy通过ConfigurationManager询问框架的配置文件, 找到需要调用的Action类6、ActionProxy创建一个ActionInvocation的实例。7、ActionInvocation实例使用命名模式来调用, 在调用Action的过程前后,涉及到相关***(Intercepter)的调用。8、一旦Action执行完毕, 。返回结果通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。 在表示的过程中可以使用Struts2框架中继承的标签。 在这个过程中需要涉及到ActionMapper9、、如果ActionContextCleanUp是当前使用的,则FilterDispatecher将不会清理sreadlocalActionContext;如果ActionContextCleanUp不使用,则将会去清理sreadlocals。2、说下Struts的设计模式MVC模式:web应用程序启动时就会加载并初始化ActionServler。用户提交表单时,一个配置好的ActionForm对象被创建,并被填入表单相应的数据,ActionServler根据Struts-,如果需要就调用ActionForm的Validate()验证后选择将请求发送到哪个Action,如果Action不存在,ActionServlet会先创建这个对象,然后调用Action的execute()方法。Execute()从ActionForm对象中获取数据,完成业务逻辑,返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指定的jsp组件,ActionForward对象指定的jsp生成动态的网页,返回给客户。3、***和过滤器的区别1、***是基于java反射机制的,而过滤器是基于函数回调的。2、过滤器依赖于servlet容器,而***不依赖于servlet容器。3、***只能对Action请求起作用,而过滤器则可以对几乎所有请求起作用。4、***可以访问Action上下文、值栈里的对象,而过滤器不能。5、在Action的生命周期中,***可以多次调用,而过滤器只能在容器初始化时被调用一次。4、struts1于struts2的比较1、Action 类:   Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口。  Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实现常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象。2、线程模式:    Struts1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts1 Action能作的事,并且要在开发时特别小心。Action资源必须