Struts2相关知识(一)

快要面试了,复习一下Struts2的相关知识,写下博客,加深印象

1. Struts2的工作机制?

(1). 客户端初始化一个指向Servlet容器(例如Tomcat)的请求;
(2). 这个请求经过一系列的过滤器(StrutsFilter),(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin);
(3). 接着被FilterDispatcher调用,FilterDispatcher询问ActionMapper来决定这个请求是否需要调用某个Action;
(4).如果需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy;
(5).ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类;
(6).ActionProxy创建一个ActionInvocation的实例;
(7).ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Interceptor)的调用;
(8).再由ActionInvocation通过execute()调用Action,一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版,最后指向JSP组件生成动态网页,返回给客户。

2.使用Struts的好处?

(1).它是建立在MVC模式上的,Struts在M、V、C上都有涉及,但它主要提供了一个好的控制器和一套定制的标签库,着力点在C和V上,因此,拥有MVC的一系列优点,如:结构层次分明,可重用行高,增加了程序健壮性和可伸缩性,便于开发与设计分工,提供集中统一的权限控制、校验、国际化、日志等;
(2).它是个开源项目,得到了包括它的发明者Craig R.McClanahan在内的一些程序大师和高手持续而细心的呵护,并且经受了实战的检验,使其功能越来越强大,体系也日臻完善;
(3).它对其他技术和框架显示出很好的融合性;

3.Struts的validate框架是如何验证的?

(1).Action类继承ActionSupport类,其中ActionSupport实现了Validateable接口,并定义了validate方法,只要在用户自定义的Action类中重写该方法就可以实现该功能。
其中错误信息可以通过addFieldError方法将错误信息保存起来。
(2).在Action类的文件的路径下,使用XML文件配置校验器。

4.说下Struts的设计模式

MVC模式:模型(Model)、视图(View)、控制器(Controller),
Struts2主要是作为控制器来实现,Struts2提供过滤器,拦截用户的请求,查找Struts的配置文件,为其配置一个对应的Action,这个Action负责调用模型,获得数据,然后对数据做部分处理,接着Action再将处理后的数据,为其选择一个视图进行输出。

5.Action 的实现通集成常用那种方法?

(1).一种是直接实现自己的Action;
(2).另一种是直接实现Action的接口;
(3).三是继承ActionSupport。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值