Tag: forward

如何使用JAX-RS转发请求?

我想将REST请求转发给另一台服务器。 我使用JAX-RS与Jersey和Tomcat。 我尝试设置See Other响应并添加Location标头,但它不是真正的前进。 如果我使用: request.getRequestDispatcher(url).forward(request, response); 我明白了: java.lang.StackOverflowError :如果url是相对路径 java.lang.IllegalArgumentException :路径http://website.com不以/字符开头(我认为转发仅在同一个servlet上下文中合法)。 我该如何转发请求?

Servlet:响应提交后无法转发

我正在处理基于geo-location呈现内容的servlet页面,我想同时使用sendRedirect和forward ; 例如; 你从France浏览example.com/aPage.jsp ; 首先,我希望servlet将您重定向到example.com/fr/aPage.jsp ,然后转发到resources页面。 这就是我在servlet中的内容: public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { …. response.sendRedirect(REDIRECT_URL_BASED_ON_GEO); // after redirect forward the resources page RequestDispatcher view = request.getRequestDispatcher(RESOURCES_PAGE); view.forward(request, response); … } 但我得到: java.lang.IllegalStateException: Cannot forward after response has been committed 我知道错误出现是因为我不能同时使用sendRedirect和forward ,但我不知道如何实现我想要的(如上所述)没有这个。 任何帮助?

向前推进添加参数?

有没有办法将请求转发给另一个控制器,同时向其添加一些参数数据? 我尝试添加到ModelMap,但它似乎没有挂起。 我做的事情如下: return “forward:/my-other-controller”; 只有我能想到的其他方法是将参数放在会话上,然后在目标控制器中弹出它们。