Servlet从URL检索XML并返回XML响应

时间:2013-04-04 10:46:14

标签: servlets get output

在我正在进行的项目中,由于浏览器中“同源策略”的限制,我被迫开发服务器端部分,这阻止了AJAX向页面域之外的任何内容发出请求。

因此,我正在构建一个Java Servlet,它将充当页面的处理程序,并将从外部站点检索XML并使用AJAX将其返回到客户端页面

我将使用GET参数来指示servlet从哪个URL获取XML。

我是Java的初学者,我可以在PHP中轻松完成这项工作,但遗憾的是没有可用于托管PHP或Apache的环境

骷髅代码

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  

}

我不想要一个完整的代码解决方案,只需要参考和想法让我朝着正确的方向前进!

e.g。用于此的java功能等等。

由于

1 个答案:

答案 0 :(得分:1)

根据要求,一些高级别的想法可以帮助您入门: 首先,从请求参数中获取外部URL:

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

然后您需要从外部URL检索响应。关于该主题已经有各种Q'a和A,包括How do I do a HTTP GET in Java?

最后,您需要使用提供的OutputStream将响应写入您的响应:

agentResponse.getOutputStream();