用于java服务器面的web.xml

Ana*_*man 1 java jsf java-ee

我刚刚开始学习Java服务器面,并成功测试了我在JSF中的第一个Web应用程序.

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

那么导航是如何发生的呢?

Pas*_*ent 5

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

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

在应用程序启动时,在处理任何请求之前,JSF实现必须处理零个或多个应用程序配置资源,根据以下算法定位:

  • 搜索此Web应用程序“META-INF/faces-config.xml”ServletContext资源路径中指定的所有资源,并将每个资源作为JSF配置资源加载(getResources()与当前Thread的返回顺序相反 ContextClassLoader).
  • 检查是否存在名为的上下文初始化参数 javax.faces.CONFIG_FILES.如果存在,则将其视为逗号分隔的上下文相关资源路径列表(以"/"开头),并加载每个指定的资源.
  • 检查是否存在名为的Web应用程序配置资源“/WEB-INF/faces-config.xml”,并在资源存在时加载它.