我需要向外部API发送HTTP GET / POST请求,该API返回XML数据然后解析此数据。 JSP中是否存在API?
如果我在类中使用该代码并在JSP中使用它的方法,会有任何问题吗?
答案 0 :(得分:2)
您可以使用URLConnection
发送HTTP请求,并以InputStream
的形式获取HTTP响应。您可以使用JAXB将包含XML文档的InputStream
解组到遵循XML结构的javabean实例中。
想象一下,XML响应看起来像这样,
<data>
<foo>fooValue</foo>
<bar>barValue</bar>
</data>
,你的JAXB javabean看起来像这样,
@XmlRootElement
public class Data {
@XmlElement
private String foo;
@XmlElement
private String bar;
// Getters/setters.
}
然后你可以解组它如下:
InputStream input = new URL("http://example.com/data.xml").openStream();
Data data = (Data) JAXBContext.newInstance(Data.class).createUnmarshaller().unmarshal(input);
String foo = data.getFoo(); // fooValue
// ...
与JSP中的每一行Java代码一样,在JSP文件而不是普通的Java类中执行此操作并不一定会导致技术问题,但最终可能会导致维护噩梦。