2013-04-04 6 views
0

В проекте, который я делаю, меня заставили разработать часть на стороне сервера из-за ограничений «той же политики происхождения» в браузерах, что не позволяет AJAX делать запросы на что-либо вне домена страницы.Сервлет извлекает XML из URL-адреса и возвращает ответ XML

Поэтому я строй сервлета Java, который будет выступать в качестве обработчика для страницы и извлечения XML от внешних сайтов и вернуть его обратно на страницу клиента с помощью AJAX

Я буду использовать GET параметров для указания сервлета какой URL-адрес для извлечения XML-файлов.

Я новичок в Java, я мог бы легко сделать это в PHP, но, к сожалению, нет среды availale для размещения PHP или Apache

Skeleton Код

public void doGet(HttpServletRequest agentRequest, HttpServletResponse agentResponse) 
throws ServletException, IOException 
{ 

    agentResponse.setContentType("text/xml"); 


    //determine if agentRequest is for templateList or templateDetails 


     //build URL for specific request 

    //if no parameters sent or invalid send error response 


    //fetch XML from URL 


    //output response XML to client 

} 

Я не хочу полный код решения, просто ссылки и идеи, чтобы получить меня в правильном направлении!

например. какие функции Java, чтобы использовать для этого и т.д.

Благодаря

ответ

1

В соответствии с просьбой, некоторые идеи на высоком уровне, чтобы вы начали: Во-первых, получить внешний URL из параметра запроса:

//equivalent of PHP $_GET["url"] 
String externalUrl = agentRequest.getParameter("url"); 

Затем вам нужно получить ответ от внешнего URL-адреса. Есть уже различные Q'a и А на эту тему, в том числе How do I do a HTTP GET in Java?

Наконец, вам нужно написать ответ на свой ответ, используя OutputStream поставляемый:

agentResponse.getOutputStream();