我刚刚开始学习Java服务器界面,并在JSF中成功测试了我的第一个Web应用程序。
让我感到困惑的是,导航规则是在WEB-INF文件夹中的faces-config.xml中指定的,而在web.xml中没有指定我的faces-config.xml文件位置的位置。
那么导航如何进行?
最佳答案
JSF 1.2 specification (JSR 252)需要任何JSF实现来在启动时自动加载/WEB-INF/faces-config.xml
(如果存在这样的资源)。
引用部分10.4.2应用程序启动行为:
在应用程序启动时,
JSF处理了所有请求
实施必须处理零或
更多应用程序配置
资源,根据
以下算法:
在目录中搜索所有名为“META-INF/faces-config.xml”
的资源。
ServletContext
的资源路径
此Web应用程序,并将其分别加载为
JSF配置资源(在
顺序相反的顺序
他们被归还
当前的getResources()
线程的ContextClassLoader
)。
检查是否存在名为的上下文初始化参数
javax.faces.CONFIG_FILES
。如果它
存在,将其视为以逗号分隔
上下文相关资源列表
路径(以“ /”开头)和加载
每个指定的资源。
检查是否存在Web应用程序配置资源
名为“/WEB-INF/faces-config.xml”
,
并在资源存在的情况下加载它。