gpt4 book ai didi

java - 如何加载存储在 my/WEB-INF 文件夹中的 xsd 文件

转载 作者:数据小太阳 更新时间:2023-10-29 02:09:12 28 4
gpt4 key购买 nike

我想加载存储在以下位置的 xsd 文件:

/WEB-INF/myxsd.xsd

我将在我的 Controller 的操作中引用它,但不确定该怎么做。

此外,由于我将一直引用它,我是否可以加载一次而不是每次请求?

public String create() {

// load xsd file here

}

您使用相对路径还是完整路径?

更新

我已经有了需要 xsd 文件的代码,我将在其中根据架构进行验证。

    SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = schemaFactory.newSchema(schemaFile);

schemaFile 是我需要帮助初始化的东西,似乎 newSchema 有一些重载(文件、URI 等),但这是一个本地文件,因此正确获取文件很有意义? validator validator = schema.newValidator();

我需要帮助从我的/Web-inf/文件夹加载这个 xsd 文件。

最佳答案

ServletContext 有一个方法 getRealPath()。所以 servletContext.getRealPath("WEB-INF") 会给你 WEB-INF 目录的绝对路径。

使用 ServletContext#getResourceAsStream()。

要在每个请求中仅加载一次,您可以创建一个字段并延迟加载。

但更好的方法是使用生命周期监听器将其作为上下文属性加载。

关于java - 如何加载存储在 my/WEB-INF 文件夹中的 xsd 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8278629/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com