Мы используем JBoss 5.1 с Guice 3.0 и нам нужно перенаправить наш сервлет Guice на внешний сервлет, используя следующую технику:
@Inject HttpServletRequest request;
@Inject HttpServletResponse response;
@GET
@Produces("application/octet-stream")
@Path("/get/1234")
public void fwd() throws ServletException, IOException {
String newURL = "/ExternalServlet?action=1234";
RequestDispatcher dispatcher = request.getRequestDispatcher(newURL);
dispatcher.forward(request, response);
}
На нескольких наших серверах разработки это перенаправляет на правильный URL (например, localhost / ourApp / ExternalServlet), но на нашем промежуточном сервере он предшествует / get / 1234, поэтому URL пересылается на localhost / ourApp / get / 1234 / ExternalServletПеренаправление работает.
Есть идеи, почему форвард предпочитает сервлет Guice?Спасибо.