【发布时间】:2013-09-04 15:28:02
【问题描述】:
我有一个 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;
......
【问题讨论】:
-
你在调用这个方法之前打印了一些东西吗?如果没有,你会得到错误吗?
标签: java filter smartgwt forwarding