访问web.xml中欢迎文件列表的值



是否有任何方法可以访问web.xml中的welcome-file-list元素而不必重新解析web.xml本身?

否。没有公共的JSF或Servlet API。

您能做的最好的事情就是获取JAXP+XPath。

InputStream input = FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream("/WEB-INF/web.xml");
Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(input);
XPathExpression xpath = XPathFactory.newInstance().newXPath().compile("web-app/welcome-file-list/welcome-file");
NodeList nodes = (NodeList) xpath.evaluate(document, XPathConstants.NODESET);
for (int i = 0; i < nodes.getLength(); i++) {
    String welcomeFile = nodes.item(i).getFirstChild().getNodeValue().trim();
    // ...
}

如果您碰巧使用JSF实用程序库OmniFaces,则可以使用它的WebXml实用程序类。

List<String> welcomeFiles = WebXml.INSTANCE.getWelcomeFiles();

另请参阅:

  • 如何在Tomcat7中以程序方式检索loginConfiguration
  • 如何从web.xml中读取会话timout

相关内容

  • 没有找到相关文章

最新更新