gpt4 book ai didi

java - 我的 response.sendRedirect 不起作用

转载 作者:行者123 更新时间:2023-11-30 04:14:59 25 4
gpt4 key购买 nike

我有一个 SmartGWT 应用程序,其中有一个过滤器,我试图在其中确定(登录时)是否应转发请求(例如桌面到移动设备)。代码执行后,浏览器发出 get 请求,但没有得到响应,也没有执行重定向。我尝试过 http://google.com但这也不起作用,所以一定是别的东西。

public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws ServletException, IOException {

HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
HttpSession session = request.getSession();

WURFLHolder wurfl = (WURFLHolder) getFilterConfig().getServletContext().getAttribute(WURFLHolder.class.getName());

WURFLManager manager = wurfl.getWURFLManager();

Device device = manager.getDeviceForRequest(request);

boolean webBrowser = isWebBrowser(device);

String path = ((HttpServletRequest) request).getRequestURI();

boolean isBrowserOnMobile = true; // webBrowser && path.contains(MOBILE_REQ_PATH);

boolean isMobileOnDesktop = !webBrowser && path.contains(DESKTOP_REQ_PATH);

if (isBrowserOnMobile || isMobileOnDesktop) {
if (isBrowserOnMobile) {
path = "http://www.google.com";
} else {
path = "/PregledPredmeta/MobileAppEntryPoint.html";
}
response.encodeRedirectURL(path);
response.sendRedirect(path);
return;

……

最佳答案

在使用 response.sendRedirect() 之前,您是否向 HTTP 响应发送了任何内容? ?要使用 HTTP 重定向 header ,您无法向浏览器发送任何响应。即使是空格或换行符/换行符也可以停止重定向。

如果您已检查所有代码并确保没有向浏览器发送任何内容,则可以使用 JavaScript 重定向 <script>location.href='yoururl';</script> 。这不是一个很酷的解决方案,但它确实有效。

关于java - 我的 response.sendRedirect 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18600334/

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