2014-06-30 3 views
0

Я хочу перехватить все входящие запросы, например.Переадресация домена AppEngine с использованием web.xml

http://subdomain.domain.org/path/to/resource 

в

https://appengineid.appspot.com/path/to/resource 

для любого возможного/путь/к/ресурсов

Возможно ли это с дескрипторе развертывания web.xml приложения двигателя? Когда я просматриваю эту тему, вся документация или вопросы/ответы связаны с преобразованием/переводом части/пути/в/ресурс запроса, а не части subdomain.domain.tld?

Благодаря

ВОПРОС EDIT/UPDATE:

Оба из указанных выше URL-адреса указывают на точно такой же экземпляра приложения App Engine. Я не хочу сопоставления шаблонов URL-адресов на/path/to/resource, потому что это будет «соответствовать» запросам обоих URL-адресов. Я хочу сопоставить шаблон URL-адреса на доменной части URL-адреса, так что любые запросы к subdomain.domain.org перенаправляются на appengineid.appspot.com, а затем, чтобы ни один цикл не встречался с запросами appengineid.appspot.com игнорируются фильтром перенаправления и обрабатываются остальной частью дескриптора развертывания сети.

ответ

0

Кажется, что фильтр решит вашу проблему. Вы можете создать новый фильтр в вашем web.xml, как это:

 <filter> 
     <filter-name>yourFilterName</filter-name> 
     <filter-class>com.acme.filter.YourNewFilter</filter-class> 
    </filter> 
    <filter-mapping> 
     <filter-name>yourFilterName</filter-name> 
     <url-pattern>/path/to/resource/*</url-pattern> 
     </filter-mapping> 

Ваш класс фильтра будет что-то вроде этого:

public class YourNewFilter extends MyGenericFilter implements Filter { 

    public void doFilter(final ServletRequest request, 
         final ServletResponse response, 
         FilterChain chain) 
     throws java.io.IOException, javax.servlet.ServletException { 
     ServletContext context= getServletContext(); 
     req.getRequestURL().toString() // use this method to get the end of the URL 
     RequestDispatcher rd= context.getRequestDispatcher("https://appengineid.appspot.com/path/to/resource/" + end of the URL 
    ); 
     rd.forward(request, response); 

    } 
} 

Он собирается перехватывать все запросы в одном домене и направить его другому.

+0

Привет, Спасибо за ваш быстрый ответ. Не думаю, что я полностью объяснил свой вопрос, поэтому я не думаю, что это совсем то, чего я хочу. Вопрос отредактирован. – Kevin

Смежные вопросы