【问题标题】:Using Spring Session-Scoped Beans without Spring MVC在没有 Spring MVC 的情况下使用 Spring Session-Scoped Bean
【发布时间】:2015-03-30 03:55:14
【问题描述】:
我正在考虑在 Spring 中使用会话范围的 bean,而不是创建会话属性并不断转换并检查它们是否存在。问题是我没有使用 Spring MVC,所以我不确定如何指定当前会话是什么。我正在使用的应用程序具有内部 MVC 结构,并且我们只有一两个访问点来访问应用程序,因此采取某种变通方法并不是什么大问题。
我进行了很多搜索,但每当我说“不是 Spring MVC”或没有“Spring MVC”时,我只会得到有关 Spring MVC 的结果。
【问题讨论】:
标签:
java
spring
spring-mvc
【解决方案1】:
来自docs:
如果您使用 Servlet 2.5 Web 容器,请求在 Spring 的 DispatcherServlet 之外处理(例如,当使用 JSF 或 Struts 时),您需要注册 org.springframework.web.context.request.RequestContextListener ServletRequestListener。对于 Servlet 3.0+,这可以通过 WebApplicationInitializer 接口以编程方式完成。或者,对于较旧的容器,将以下声明添加到您的 Web 应用程序的 web.xml 文件中:
<web-app>
...
<listener>
<listener-class>
org.springframework.web.context.request.RequestContextListener
</listener-class>
</listener>
...
</web-app>