每日五道题(struts2)
2015-08-17 19:15
260 查看
1.Struts2工作机制?
答:
1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求;
2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin);
3、接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请求是否需要调用某个Action;
4、如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy;
5、ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类;
6、ActionProxy创建一个ActionInvocation的实例。
7、ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。
8、一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用Struts2 框架中继承的标签。在这个过程中需要涉及到ActionMapper。
1.它是建立在MVC这种公认的好的模式上的,Struts在M、V和C上都有涉及,但它主要是提供一个好的控制器和一套定制的标签库上,也就是说它的着力点在C和V上,因此,它天生就有MVC所带来的一系列优点,如:结构层次分明,高可重用性,增加了程序的健壮性和可伸缩性,便于开发与设计分工,提供集中统一的权限控制、校验、国际化、日志等等;
2.其次,它是个开源项目得到了包括它的发明者Craig R.McClanahan在内的一些程序大师和高手持续而细心的呵护,并且经受了实战的检验,使其功能越来越强大,体系也日臻完善;
3.是它对其他技术和框架显示出很好的融合性。
基于Struts开发的应用由3类组件构成:控制器组件、模型组件、视图组件
继承ActionSupport覆写validate方法
MVC模式(Model-View-Controller 模型-视图-控制器)
Struts主要担当了控制器的作用
(1)普通的java类,但必须有execute方法且要有string类型大的返回值
(2)直接实现自己的Action;
(3)实现Action的接口继承ActionSupport
答:
1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求;
2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin);
3、接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请求是否需要调用某个Action;
4、如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy;
5、ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类;
6、ActionProxy创建一个ActionInvocation的实例。
7、ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。
8、一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用Struts2 框架中继承的标签。在这个过程中需要涉及到ActionMapper。
2.使用Struts的好处?为什么要使用Struts?
答:1.它是建立在MVC这种公认的好的模式上的,Struts在M、V和C上都有涉及,但它主要是提供一个好的控制器和一套定制的标签库上,也就是说它的着力点在C和V上,因此,它天生就有MVC所带来的一系列优点,如:结构层次分明,高可重用性,增加了程序的健壮性和可伸缩性,便于开发与设计分工,提供集中统一的权限控制、校验、国际化、日志等等;
2.其次,它是个开源项目得到了包括它的发明者Craig R.McClanahan在内的一些程序大师和高手持续而细心的呵护,并且经受了实战的检验,使其功能越来越强大,体系也日臻完善;
3.是它对其他技术和框架显示出很好的融合性。
基于Struts开发的应用由3类组件构成:控制器组件、模型组件、视图组件
3.Struts2的validate框架是如何验证的?
答:继承ActionSupport覆写validate方法
4.说下Struts的设计模式
答:MVC模式(Model-View-Controller 模型-视图-控制器)
Struts主要担当了控制器的作用
5.Action 的实现通集成常用那种方法?
答:(1)普通的java类,但必须有execute方法且要有string类型大的返回值
(2)直接实现自己的Action;
(3)实现Action的接口继承ActionSupport
相关文章推荐
- Eclipse中SVN的安装步骤(两种)和使用方法
- [Java Concurrency in Practice]第五章 基础构建模块
- myeclipse通过jdbc 连接mysql数据库
- Java中Integer直接比较大小
- Java序列化及反序列化 示例讲解
- JAVA多线程 问题 转载
- JAVA之JDBC简单事务处理
- Java中enum范例
- 【Java】-基础-Swing-常用组件
- Java 浮点数是如何存储的?
- 0000003_java学习之路_Spring注解_我用到的
- Spring <context:annotation-config/> 解说
- java获取指定范围随机数
- 基于SpringMVC的Restful风格的增删改查--③删除员工信息
- springSecurity登录验证分析——AbstractUserDetailsAuthenticationProvider
- spring一些总结
- Struts2 鲜为人知的调试技巧
- java泛型的基本操作及理解
- SpringTest(一)
- 【Java并发编程实战】—–“J.U.C”:ReentrantLock之一简介