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

Servlets Servlet从URL检索XML并返回XML响应,servlets,get,output,Servlets,Get,Output,在我正在做的一个项目中,由于浏览器中“同源策略”的限制,我被迫开发服务器端部分,这阻止AJAX向页面域之外的任何内容发出请求 因此,我正在构建一个Javaservlet,它将充当页面的处理程序,从外部站点检索XML,并使用AJAX将其返回到客户端页面 我将使用GET参数来指示servlet从哪个URL获取XML 我是一个Java初学者,我可以很容易地在PHP中实现这一点,但遗憾的是,没有可用的环境来承载PHP或Apache 骨架代码 public void doGet(HttpServletRe

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

因此,我正在构建一个Javaservlet,它将充当页面的处理程序,从外部站点检索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特性,等等


根据您的要求,感谢您提供一些高层次的想法,帮助您开始: 首先,从请求参数获取外部URL:

//equivalent of PHP $_GET["url"]
String externalUrl = agentRequest.getParameter("url"); 
然后需要从外部URL检索响应。关于这个话题已经有了各种各样的问答,包括

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

agentResponse.getOutputStream();