Mar*_*ius 3 java spring spring-mvc content-management-system magnolia
我正在尝试通过开花模块将我的spring应用程序与magnolia集成,但我无法理解如何执行此操作.
我已经阅读了很多关于这个主题的内容,但我实际上并不知道我的web.xml和applicationContext.xml应该是什么样子.
我的web.xml文件中是否应该有2个玉兰听众和春天的听众,并且有两个servlet用于开花,一个用于春天?然后我的applicationContext应该怎么样?
你能帮我提一下web.xml和applicationContext.xml的工作集成示例吗?我在网上到处都看,但web.xml无处可去.
非常感谢你 :)
有一个样品的花是一个完整的Web应用程序的设置.看看那里的web.xml和applicationContext.xml.
该示例基于magnolia-empty-webapp项目,该项目旨在作为您可以构建的起点.
在示例中,您将看到通常的Spring侦听器不在web.xml中,并且那里也没有DispatcherServlets.相反,启动弹簧的任务由样本模块完成.该模块还创建一个BlossomDispatcherServlet,用于在呈现过程中呈现模板和段落.原因是当Magnolia启动时,它将进入安装/更新模式并显示安装UI.此时你不希望Spring被初始化,因为如果你有依赖Magnolia的bean,它们将无法在Magnolia未准备好时启动.所以Spring就是由模块启动的.
但是,如果您的bean不依赖于Magnolia,那么您可以安全地将Springs侦听器添加到web.xml,并从模块中启动BlossomDispatcherServlets.
另一件可能有用的事情是,Magnolia渲染使用过滤器,该过滤器将处理所有进入的请求,除非它们已被排除.因此,如果将servlet添加到web.xml,则需要从Magnolias过滤器中排除其url模式.
另一个更直接的选择是将servlet添加到模块描述符xml文件中.然后Magnolia将接收它们并从其过滤器中调用它们.模块描述符的文档在这里.
总而言之,我建议使用模块启动Spring并将servlet添加到模块描述符xml中.在web.xml中配置内容也是一个可行的选择,但您需要考虑如何与安装/更新-phase和请求路由交互.
| 归档时间: |
|
| 查看次数: |
4451 次 |
| 最近记录: |