用于java服务器面的web.xml

用于java服务器面的web.xml,java,jsf,jakarta-ee,Java,Jsf,Jakarta Ee,我刚刚开始学习Java server faces,并在JSF中成功地测试了我的第一个web应用程序 让我困惑的是,导航规则是在WEB-INF文件夹中的my faces-config.xml中指定的,而在my WEB.xml中,我没有指定faces-config.xml文件位置的位置 那么导航是如何进行的呢?我相信web.xml中定义的Faces servlet在web应用启动时加载Faces config.xml。我相信web.xml中定义的Faces servlet在web应用启动时加载Fac

我刚刚开始学习Java server faces,并在JSF中成功地测试了我的第一个web应用程序

让我困惑的是,导航规则是在WEB-INF文件夹中的my faces-config.xml中指定的,而在my WEB.xml中,我没有指定faces-config.xml文件位置的位置


那么导航是如何进行的呢?

我相信
web.xml
中定义的Faces servlet在web应用启动时加载
Faces config.xml

我相信
web.xml
中定义的Faces servlet在web应用启动时加载
Faces config.xml

需要任何JSF实现在启动时自动加载
/WEB-INF/faces config.xml
(如果存在这样的资源)

引用第10.4.2节应用程序启动行为:

在应用程序启动时,在 任何请求都会被处理,JSF 实现必须处理零或零 更多应用程序配置 资源,根据 以下算法:

  • 在中搜索名为“META-INF/faces config.xml”的所有资源
    ServletContext
    的资源路径 此web应用程序,并作为 JSF配置资源(在 与以下顺序相反: 它们是由 当前服务器上的
    getResources()
    线程的
    ContextClassLoader
  • 检查是否存在名为的上下文初始化参数
    javax.faces.CONFIG\u文件
    。如果是 存在,将其视为逗号分隔的 上下文相关资源列表 路径(以“/”开头)和加载 每个特定的资源
  • 检查是否存在web应用程序配置资源 命名为
    “/WEB-INF/faces config.xml”
    , 如果资源存在,则加载它
要求任何JSF实现在启动时自动加载
/WEB-INF/faces config.xml
(如果存在这样的资源)

引用第10.4.2节应用程序启动行为:

在应用程序启动时,在 任何请求都会被处理,JSF 实现必须处理零或零 更多应用程序配置 资源,根据 以下算法:

  • 在中搜索名为“META-INF/faces config.xml”的所有资源
    ServletContext
    的资源路径 此web应用程序,并作为 JSF配置资源(在 与以下顺序相反: 它们是由 当前服务器上的
    getResources()
    线程的
    ContextClassLoader
  • 检查是否存在名为的上下文初始化参数
    javax.faces.CONFIG\u文件
    。如果是 存在,将其视为逗号分隔的 上下文相关资源列表 路径(以“/”开头)和加载 每个特定的资源
  • 检查是否存在web应用程序配置资源 命名为
    “/WEB-INF/faces config.xml”
    , 如果资源存在,则加载它

你说你相信,难道你不能肯定地告诉我,如果是这样的话?这是否意味着它在默认位置查找faces-config.xml?我能覆盖那个默认位置吗?你说你相信,你能肯定地告诉我这是怎么回事吗?这是否意味着它在默认位置查找faces-config.xml?我可以覆盖默认位置吗?