gpt4 book ai didi

gwt - 如何从 GWT 中识别 http 错误代码?

转载 作者:行者123 更新时间:2023-12-02 08:55:54 26 4
gpt4 key购买 nike

当我的用户在 session 过期后尝试对我们的网站执行操作时(例如,如果他们保持浏览器打开状态),服务器会响应 HTTP 状态 405,因为用户不再登录。

发生这种情况时,我想将用户重定向到登录屏幕。

如何识别 GWT 中何时返回 405 错误代码,以便我可以重定向用户?

谢谢

编辑:这是我正在使用的过滤器:

public class AuthenticationFilter implements Filter {
public void destroy() {
}

public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
if (req instanceof HttpServletRequest) {
boolean isLoggedIn = CustomSecurity.login((HttpServletRequest)req);
if (isLoggedIn) {
// TODO: How to redirect the user here???
}
}
chain.doFilter(req, res);
}

public void init(FilterConfig arg0) throws ServletException {
}
}

web.xml内容:

<filter>
<filter-name>Authentication Filter</filter-name>
<filter-class>com.company.AuthenticationFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Authentication Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

如何重定向用户?另外,有没有办法强制整个浏览器重定向?由于这进入了一个小部件,我认为 Window.Location.assign('url') 只会重定向小部件的 HTML 内容。

最佳答案

我目前正在开发一个 GWT 应用程序,该应用程序的功能与您所要求的非常相似。但是,我们在标准 javax.servlet.Filter 子类中处理这些重定向,该子类是我们在 web.xml 中定义的,并且它映射到/*,因此它捕获所有请求(我们也出于许多其他原因使用此过滤器) .

我不知道您是否还在 GWT 应用程序中使用过滤器,甚至可能只是某种包罗万象的 Servlet,但如果您使用了,那么问题的解决方案就非常简单。您将拥有 HttpServletRequest 的句柄,并且可以查看 getSession(false) 方法是否返回 null,那么您就知道发送请求的用户不再拥有 session 。然后您只需对登录页面执行标准的 response.sendRedirect(...) 即可。

关于gwt - 如何从 GWT 中识别 http 错误代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4962121/

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