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