Java 如何通过servlet获取自定义XML文件
我有一个servlet,它使用JAXB取消格式并封送XML文件,这是我自己制作的。我的问题是,如果不提供XML文件的完整本地路径,即封送器,我就无法对XML文件进行解组或封送处理。问题是,如果我的朋友不需要编辑XML文件的本地路径,我就无法将项目交付给他。我的解组代码如下所示Java 如何通过servlet获取自定义XML文件,java,jsp,servlets,jaxb,relative-path,Java,Jsp,Servlets,Jaxb,Relative Path,我有一个servlet,它使用JAXB取消格式并封送XML文件,这是我自己制作的。我的问题是,如果不提供XML文件的完整本地路径,即封送器,我就无法对XML文件进行解组或封送处理。问题是,如果我的朋友不需要编辑XML文件的本地路径,我就无法将项目交付给他。我的解组代码如下所示 ObjectFactory factory = new ObjectFactory(); CarList cl = factory.createCarList(); try { javax.xml.bind.JA
ObjectFactory factory = new ObjectFactory();
CarList cl = factory.createCarList();
try {
javax.xml.bind.JAXBContext jaxbCtx = javax.xml.bind.JAXBContext.newInstance(cl.getClass().getPackage().getName());
javax.xml.bind.Unmarshaller unmarshaller = jaxbCtx.createUnmarshaller();
cl = (CarList) unmarshaller.unmarshal(new java.io.File("/Users/martin/NetBeansProjects/Web-Mandatory-Assignment-Part1/web/resources/xml/Cars.xml")); //NOI18N
} catch (javax.xml.bind.JAXBException ex) {
java.util.logging.Logger.getLogger("global").log(java.util.logging.Level.SEVERE, null, ex); //NOI18N
}
正如你所看到的,我需要使用“/Users/martin/NetBeansProjects/Web-Mandatory-Assignment-Part1/Web/resources/xml/Cars.xml”作为文件的路径,但我希望它做的是使用类似“xml/resources/Cars.xml”的东西。如何使其工作:)您可以在
javax.servlet
包中使用ServletContext
接口。要访问此类的实例,请使用以下代码:
http_request_instance.getServletContext();
此界面中有一些有用的方法,例如:
getResource(字符串)
getResourceAsStream(字符串)
getRealPath(字符串)
- (好样本)
http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html#getResourceAsStream(java.lang.String)
不,我没有试过。我会看看这个方法,然后再给你回复:)