我在我的网络应用程序中使用 Spring MVC 。对于我想要准备环境的每个请求,例如从数据存储区加载一些数据并保存,以便每个控制器都可以访问该信息。我假设有什么过滤器(除其他外)。我可以将信息附加到过滤器中的request
变量,但是如何从控制器访问它?或者通常有更好的方法吗?
答案 0 :(得分:2)
我不明白为什么这是一件好事,过滤或不。
如果你真的拥有每个控制器都需要的只读数据,我认为在启动时加载的缓存解决方案是个更好的主意。我不会用过滤器做到这一点,我不会用这样的东西给每一个请求负担。一旦完成,为什么要继续重复动作?
答案 1 :(得分:2)
我认为你现在的问题是如何在你的过滤器中获取请求中的数据集(已由你完成),然后在你的控制器的hamdlerMapping方法中访问它(你想要实现)。
我同意以前的答案,但如果你决定这样做,那么我认为你应该按照我的答案。
在处理程序方法中,您已将请求映射到控制器中,您可以在HttpServletRequest request
的方法签名中包含参数,它将包含您在过滤器中设置的请求参数。您可以从控制器中的此请求对象获取该文件。
希望这会对你有所帮助。欢呼声。
答案 2 :(得分:0)
@duffymo是对的,但如果你真的想这样做,我建议你使用拦截器 http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mvc.html#mvc-handlermapping-interceptor