有关Struts2的插件机制

插件机制是Struts2的重要组成部分。

方便为Struts2扩展功能。

主要作用:

  • 简化开发,提高开发效率,有人写插件,封装技术细节,其他人使用;
  • 代码复用,封装的插件,可以重复利用;
  • 提高软件开发的质量,插件被反复使用,bug应该较少。

Struts2 插件的文档:http://struts.apache.org/2.0.11/docs/plugins.html

Struts2的插件机制,类似eclipse或者firefox的插件机制,和Struts1.x有很大区别。

Struts2插件由单一的jar文件组成,包括:类文件和配置文件(扩展、替代或者添加到已有的框架功能中)。

安装插件:通过复制(并且复制依赖jar文件)到classpath。

配置插件:插件的jar文件中包含struts-plugin.xml,和struts.xml文件格式相同。

该配置文件可以:

  • 定义新的package、result、interceptor、action
  • 覆盖框架的常量
  • 引入新的扩展点实现类

框架中一些受欢迎,但是可选的属性通过插件方式发布。应用程序发布时可以留下所有插件,也可以只包含其中使用到的。插件可以包含在原始代码中,也可以是第三方发布的。

注意:插件的加载没有特定次序。插件不能互相依赖。插件可以依赖struts2核心部分的类,但是不能依赖其他插件的类。

框架加载配置文件的次序:

  • struts-default.xml (bundled in the Core JAR)
  • struts-plugin.xml (as many as can be found in other JARs)
  • struts.xml (provided by your application)

配置文件都加载完毕后,各个插件才可以使用这些配置。

扩展点:

  • com.opensymphony.xwork2.ObjectFactory:单例的,用于创建action、result和interceptor,属性是   struts.objectFactory
  • com.opensymphony.xwork2.ActionProxyFactory:创建Action的代理
  • com.opensymphony.xwork2.util.ObjectTypeDeterminer:确定数据类型
  • rg.apache.struts2.dispatcher.mapper.ActionMapper:确定请求对应的action
  • org.apache.struts2.dispatcher.multipart.MultiPartRequest:处理文件上传的请求
  • org.apache.struts2.views.freemarker.FreemarkerManager:加载和处理freemarker的模板
  • org.apache.struts2.views.velocity.VelocityManager:加载和处理velocity的模板
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值