首页 > 解决方案 > 提交响应后无法转发。即使在退货声明之后

问题描述

我被这个错误困住了。我做了一些搜索,我发现解决方案是添加 return 语句。但是,我仍然无法解决问题。请帮我。

这是我的代码:

public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain)
            throws IOException, ServletException {
        try {
            HttpServletRequest req = (HttpServletRequest) request;
            String uri = req.getRequestURI();
            String url = LOGINPAGE;
            int lastIndex = uri.lastIndexOf("/");
            String resource = uri.substring(lastIndex + 1);
            HttpSession session = req.getSession();
            User user = (User) session.getAttribute("USER");
            if (resource.length() > 0) {
                if (user != null) {
                    if (resource.lastIndexOf(".png") > 0 || resource.lastIndexOf(".jpg") > 0) {
                        url = resource;
                    } else {
                        url = resource.substring(0, 1).toUpperCase() + resource.substring(1) + "Controller";
                        if (resource.lastIndexOf(".jsp") > 0 || resource.lastIndexOf(".html") > 0) {
                            url = resource;
                        } else {//new
                            url = resource.substring(0, 1).toUpperCase() + resource.substring(1) + "Controller";
                        }
                    }
                } else {
                    request.setAttribute("ERRORNOTLOGIN", "You have no permission to access this function");
                }
                if (resource.equals("login")) {
                    url = "LoginServlet";
                }
            } else {
                url = LOGINPAGE;
                if (user != null) {
                    url = "ListController";
                }
            }
            if (url != null) {
                request.getRequestDispatcher(url).forward(request, response);
                return; 
            } else {
                chain.doFilter(request, response);
            }
        } catch (Exception e) {
            log("ERROR at FilterDispatcher: " + e.getMessage());
        }
    }

标签: servlet-filters

解决方案


推荐阅读