跨多个servlet共享Spring bean

时间:2014-01-01 01:55:34

标签: spring

我是春天的新手,我的要求是让用户通过多个servlet登录,

例如:所有类型的用户都转到Dispatcher Servlet但是Admin通过不同的servlet来确保额外的安全性。我如何将Dispacher servlet Spring上下文bean中定义的bean共享给同一Web应用程序上下文中的其他servlet。

我还希望有一个用于访问Ajax请求的servlet,

所有这些servlet应该共享相同的HttpSession和bean,对查看示例配置代码会更有帮助。

1 个答案:

答案 0 :(得分:3)

您有3种方式:

1-使用ContextLoaderListener创建父上下文,您的serlvets将成为该上下文的子项。并在父上下文中定义您的bean。

选中此link

2-另一种方法是手动加载另一个servlet的xml文件,如下所示:

ApplicationContext context =
                    new ClassPathXmlApplicationContext("classpath:application-context.xml");
Person person = (Person)context.getBean("person");

3-您还可以使用以下命令将servlet bean导入其他servlet:

<import resource="classpath:application-context.xml"/>