SpringMVC-如何将数据从过滤器传递到控制器
我在我的web应用程序中使用SpringMVC。对于每个请求,我都要准备好环境,例如,从数据存储中加载一些数据并保存,以便每个控制器都可以访问这些信息。我想这就是过滤器的用途(以及其他用途)。我可以将信息附加到过滤器中的SpringMVC-如何将数据从过滤器传递到控制器,spring,model-view-controller,Spring,Model View Controller,我在我的web应用程序中使用SpringMVC。对于每个请求,我都要准备好环境,例如,从数据存储中加载一些数据并保存,以便每个控制器都可以访问这些信息。我想这就是过滤器的用途(以及其他用途)。我可以将信息附加到过滤器中的请求变量,但如何从控制器访问它?或者有没有更好的方法呢?我不明白为什么这是一件好事,不管是过滤还是否 如果您确实拥有每个控制器都需要的只读数据,我认为在启动时加载缓存解决方案是一个更好的主意。我不会用过滤器来做这件事,我也不会用这样的东西来加重每个请求的负担。一旦完成了,为什么还
请求
变量,但如何从控制器访问它?或者有没有更好的方法呢?我不明白为什么这是一件好事,不管是过滤还是否
如果您确实拥有每个控制器都需要的只读数据,我认为在启动时加载缓存解决方案是一个更好的主意。我不会用过滤器来做这件事,我也不会用这样的东西来加重每个请求的负担。一旦完成了,为什么还要继续重复这个动作?我不明白为什么这是一件好事,过滤还是否
如果您确实拥有每个控制器都需要的只读数据,我认为在启动时加载缓存解决方案是一个更好的主意。我不会用过滤器来做这件事,我也不会用这样的东西来加重每个请求的负担。一旦完成了,为什么还要重复这个动作呢?@duffymo是对的,但如果你真的想这么做,我建议你使用拦截器
@duffymo是对的,但如果你真的想这么做,我建议你使用拦截器
我认为您目前的问题是如何在过滤器(您已经完成)中获取请求中的数据集,然后在控制器的hamdlerMapping方法中访问它(您希望实现) 我同意前面的两个答案,但如果你决定这样做,那么我认为你应该遵循我的答案 在已将请求映射到控制器的处理程序方法中,您可以在方法签名中为
HttpServletRequest
设置一个参数,该参数将包含您在过滤器中设置的请求参数。您可以从控制器中的这个请求对象获得它
希望这对你有帮助。干杯。我认为您目前的问题是如何在过滤器(您已经完成)中获取请求中的数据集,然后在控制器的hamdlerMapping方法中访问它(您希望实现) 我同意前面的两个答案,但如果你决定这样做,那么我认为你应该遵循我的答案 在已将请求映射到控制器的处理程序方法中,您可以在方法签名中为
HttpServletRequest
设置一个参数,该参数将包含您在过滤器中设置的请求参数。您可以从控制器中的这个请求对象获得它
希望这对你有帮助。干杯。过滤器只不过是HTTP特定的拦截器。我的意见是不要用这样的东西来加重每个请求的负担。谢谢。但是这个问题仍然没有得到完全的回答。。。如何将任何数据从拦截器传递到控制器?让我们以Spring文档中使用的示例为例,检查开放时间。如果我想在每个处理程序中使用当前的小时值呢?是的,我可以再次计算,但是我会在每个请求中做同样的事情两次,并且我还必须为每个处理程序添加一行冗余的代码。我知道这不是一个很好的例子,但希望你现在明白我的意思;你可以在控制器中或者在会话中检索这些日期。一个过滤器只不过是一个特定于HTTP的拦截器。我的意见是不要用这样的东西来加重每个请求的负担。谢谢。但是这个问题仍然没有得到完全的回答。。。如何将任何数据从拦截器传递到控制器?让我们以Spring文档中使用的示例为例,检查开放时间。如果我想在每个处理程序中使用当前的小时值呢?是的,我可以再次计算,但是我会在每个请求中做同样的事情两次,并且我还必须为每个处理程序添加一行冗余的代码。我知道这不是一个很好的例子,但希望你现在明白我的意思;你可以在控制器或会话中检索这些日期