我有一个我无法修改的第三方servlet.它接受我想要外化的init-param(来自web.xml).
我可以使用DelegatingFilterProxy外化servlet过滤器init-param.这有效地将servlet过滤器定义移动到Spring中,其中有更强大的外化工具(例如:PropertyPlaceholderConfigurer,环境变量等)
我怎样才能为servlet做这个?
servlet只实现了一些具体的方法,因此委托应该是直截了当的.
好吧,我把钱放在嘴边!
编辑:下面是DelegatingServletProxy的基本实现.
你这样使用它:
>在web.xml中设置常用的spring上下文配置/ ContextListener,为webapp设置应用程序范围的spring上下文.
>将servlet添加到web.xml,其实现类为DelegatingServletProxy.这将取代您想要更改init-params的现有serlvet.为这个新的servlet设置init参数:proxyServletClass是servlet类的名称. proxyServletParams是spring配置中的Properties bean的名称.此属性bean用于为代理的servlet设置init参数.
>在spring配置中,添加一个定义init-params的新Properites bean
一些示例,在spring应用程序上下文中
arams" class="java.util.Properties">
aramName">initParamValue
示例web.xml代码段
cme.DelegatingServletProxy
aram>
aram-name>proxyServletClass
aram-name>
aram-value>your.original.servlet.ServletClass
aram-value>
aram>
aram>
aram-name>proxyServletParams
aram-name>
aram-value>myServletParams
aram-value>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。