首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

把DWR的配备写到Spring的配置文件里(Spring2 新特性-自定义schema初体验)

2012-07-30 
把DWR的配置写到Spring的配置文件里(Spring2 新特性-自定义schema初体验)?????/xsd:complexType/xsd:sc

把DWR的配置写到Spring的配置文件里(Spring2 新特性-自定义schema初体验)

?

????</xsd:complexType>

</xsd:schema>

2、我们要做一个DWRNamespaceHandler来处理DWR的配置信息,其实里面就做一件事把AllowBeanDefinitionParser注册给allow节点。因为我们dwr的配置部分根节点就一个标签allow,所以我们就做一个用于解析allow标签的AllowBeanDefinitionParser解析器就行。如果我们的根节点还有其他的标签,同样也要做相应的解析器。

public class DWRNamespaceHandler extends NamespaceHandlerSupport{

?

????public void init() {

????????//把AllowBeanDefinitionParser注册到allow节点

????????registerBeanDefinitionParser("allow",new AllowBeanDefinitionParser());

????}

?

}

?

其实难点是做AllowBeanDefinitionParser,这里你需要一些DOM模型的知识,来操作配置节点的内容。然后根据内容进行处理。在这里我们,需要做三件事:

???[1] ?把配置节点的内容转换成对象模型,即AllowBean(其实就是一些POJO罢了)。

???[2] ?把这个AllowBean注册给Spring的Context,这一步是可选的。因为我们主要是把这个Bean给DWR,当然顺道给Spring一份也没什么问题。

???[3] 把这个AllowBean注册到AllowBeanHolder。

?

3、AllowBeanHolder。

???其实这就是个简单的singleton类,整个运行期只有一个实例。它就像一个容器,AllowBeanDefinitionParser往里放,DWR的Configuration再从这里取。

?

4、扩展DWR的DefaultConfiguration,我们做一个SpringConfiguration。DWR的DefaultConfiguration是负责读取配置信息的。我们在其中加入从AllowBeanHolder读取配置信息的功能即可。

?

5、扩展DWR的DWRServlet,我们做一个SpringDWRServlet,原来的DWRServlet加载的是DefaultConfiguration,我们的Serlvet加载我们自己的SpringConfiguration即可。

?

6、万事俱备,只欠东风啦。就是让Spring知道我们干了这些!

???在META-INF目录下(如果没有在src目录下创建一个)加入spring.handlers和spring.schemas两个文件。

???spring.handlers中的内容:

???http://www.devside.org/schema/spring/dwr=org.devside.core.support.dwr.DWRNamespaceHandler

???spring.schemas中的内容:

???http://www.devside.org/schema/spring/dwr.xsd=org/devside/core/support/dwr/dwr.xsd

???

???注意不要写错字哦,我一开始就写错一个字母,结果怎么调试都不能成功,还以为Spring2有问题呢。

?

ok了,下面我们就可以写一个spring的配置文件来试试喽。

?

?

热点排行