Отображение определенного сервлета в сервлет по умолчанию в Tomcat

Я пытаюсь реализовать сервлет, который получает необработанные запросы, и решает либо обработать их, либо переслать их на другой внутренний сервер. Это похоже на балансировщик нагрузки, где полученный запрос перенаправляется в один из (в моем случае 2) адресатов. Один из пунктов назначения является удаленным (на другом хосте). Кроме того, запросы могут прийти в корень (http://mycompany.com/).

Поскольку я хочу получать необработанные запросы, я реализовал свой собственный сервлет (создание подклассовHttpServlet), и это прекрасно работает. Мой сервлет выглядит так:

public class MyProxyServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {
        processOrForward(req, resp);
    }
    // also doGet(), doHead(), ...
}

Поскольку служба, которую я хочу обработать, может отправлять запросы в корень, я хотел бы сопоставить свой сервлет с сервлетом по умолчанию, тем самым получая любой запрос, который не имеет явного отображения сервлета. Предположим, мой сервлетзовут "myservlet»и бежит по сторонам другого сервлетаFoo»Ожидаю все запросы в видеhttp://mycompany.com/foo/... для доставки в foo, а все остальное (например, /, / bar / ..., / myservlet / ...) в "myservlet», Глядя на более ранние сообщения (например, отображение корняВот а такжеВотили переписывание URLВот), Я думал, что понял это, но это не работает.

Вот мойweb.xml:


  
    ProxyServlet
    com.mycompany.MyProxyServlet
    1
  

  
    ProxyServlet
    /*
  

В вышеweb.xml, для URL-шаблона я пытался

"/" and "/*" and empty (i.e., ), all behave the same -->
    Requests to root (/)goes to tomcat's default servlet
    Requests to /myservlet/... are handled by "myservlet"
    Requests to /fubar/... are always 404

Есть ли способ превратить мой сервлет по умолчанию. То есть, любой запрос, который не привязан конкретно к сервлету, поступает ко мне (даже приемлемо получать все запросы, поскольку я могу развернуть этот сервлет в своем собственном контейнере). В случае, если это имеет значение, я использую Tomcat 7.0.30 на Ubuntu 12.10.

Ответы на вопрос(2)

Ваш ответ на вопрос