gpt4 book ai didi

spring - 在 Grails 2.0 下的过滤器中“未找到线程绑定(bind)请求”

转载 作者:行者123 更新时间:2023-12-02 14:46:31 25 4
gpt4 key购买 nike

我正在开发一个带有过滤器的 Grails 插件,代码如下:

void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, javax.servlet.FilterChain chain) {

HttpServletRequest request = servletRequest
HttpServletResponse response = servletResponse
String url = request.requestURI.substring(request.contextPath.length())
logger.debug("Processing url: $url")
chain.doFilter(servletRequest, servletResponse)
}

非常标准的 Java EE 过滤器,扩展了 spring 的 GenericFilterBean .它是由 SpringSecurityUtils.registerFilter %NAME%, %POS% 注册的(这是 Spring 安全扩展)

升级到 Grails 2.0 后,我开始在 chain.doFilter() 上遇到一些奇怪的错误。线:
No thread-bound request found: Are you referring to request attributes outside of 
an actual web request, or processing a request outside of the originally receiving
thread? If you are actually operating within a web request and still receive this
message, your code is probably running outside of DispatcherServlet/DispatcherPortlet:
In this case, use RequestContextListener or RequestContextFilter to expose the
current request.

注意 String url = request.requestURI..... 一切正常线。并且显示的 url 是有效的。

这个错误不可预测的问题:(有时过滤器工作正常,有时会抛出异常,我不知道是什么问题,以及我必须做什么来解决它。可能这取决于bean初始化的顺序,但我'我不确定

更新 : 发现是因为 resources插入。删除此插件后错误消失。不确定这是不是最好的方法。

最佳答案

在 Grails 2.0 中,webxml 插件默认安装在新项目中。它控制 web.xml 中过滤器的顺序。 http://grails.org/plugin/webxml

关于spring - 在 Grails 2.0 下的过滤器中“未找到线程绑定(bind)请求”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8868753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com