1.FilterDispatcher
Struts2的前端控制器,MVC中的C控制器部分。在实际开发中,只需要在web.xml中配置一次即可。
如果还有其他的过滤器,那么FilterDispatcher的配置要出现在最后。
2.Action
MVC中的M模型部分,既封装业务数据,也负责处理用户的请求,execute方法就是默认的动作出来方法。
3.Result
代表Action运行之后要转向的下一个页面。支持多种结果类型,如jsp、freemarker、jasperreports等,
4.Interceptor
每一个Struts2工程都一定使用了拦截器,Strust2自带内建拦截器与默认拦截器。
Strusts2的许多功能都是有拦截器完成的,比如:
帮用户把request参数设置到Action的属性中。 |
实现上传文件。 |
防止重复提交。 |
实现验证框架。 |
通用错误处理。 |
程序国际化。 |
5.ActionContext、值栈与OGNL
Struts2在每个Action刚开始运行的时候,都会单独为它建立一个ActionContext,把所有能访问的数据,包括请求参数
(request的parameter)、请求的属性(request的Attribute)、会话(session)信息等,都放到ActionContext中。
在取值、赋值的时候,只需要访问ActionContext就可以了,所以说ActonContext是每个Action拥有的一个独立的内存
数据中心。
OGNL通过简单的表达式,存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。
值栈是对应每一个请求对象的轻量级的内存数据中心。
值栈和请求是一一对应的,不同的请求,值栈也不一样,正因为值栈和请求的对应关系,因而值栈能保证线程安全地为
每个请求提供公共的数据存取服务。
6.Struts2标签
Struts2的标签库功能强大,使用简单,大大简化了视图开发的工作。
7.自动类型转化
8.国际化
i18n通常作为“国际化”的简称,internationalization的首尾字符i和n,18为中间的字符数。
9.验证框架