0

我得到以下错误。

FAIL - 无法启动上下文路径 /sampleJSF 中的应用程序

我想更改我的欢迎文件位置。我在 有一个index.jsp页面WEB-INF/pages/index.jsp。如何修改 servlet 映射和欢迎文件列表来实现这一点?

这是我的servlet-mappingwelcome-file-list来自web.xml

<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>WEB-INF/*</url-pattern>
</servlet-mapping>

<welcome-file-list>
    <welcome-file>WEB-INF/pages/index.jsp</welcome-file>
</welcome-file-list>
4

1 回答 1

1

您似乎误解了欢迎文件设置和/WEB-INF文件夹的目的。

当请求文件夹而不是 URL 中的文件时,欢迎文件必须代表服务器应从当前文件夹提供的文件的名称。例如/, /foo/,/bar/等。因此,当您将其设置为时index.jsp,它将在被请求时提供服务,以及在被请求时提供服务,等等。/index.jsp//foo/index.jsp/foo/

/WEB-INF文件夹用于存放不应独立公开访问的文件。例如,包含文件、模板文件、错误文件、标记文件、配置文件等。映射 Faces Servlet完全没有意义,因为当最终用户有意在 URL 中输入文件夹时/WEB-INF,servlet 容器已经限制了对文件夹的直接(公共)访问。/WEB-INF/WEB-INF

撤消您对示例 Web 应用程序所做的所有更改。他们根本没有意义。无论您想到什么功能要求,您错误地认为这是正确的解决方案,都必须以不同的方式解决。


与具体问题无关,您似乎刚刚开始使用 JSF,但您知道自 2009 年的 JSF 2.0 起 JSP 已被弃用?您是否绝对肯定您正在学习基于正确和最新资源的 JSF?我强烈建议您这样做,否则您最终会遇到混乱头痛和代码灾难。从我们的 JSF wiki 页面开始。

于 2013-04-11T11:04:16.080 回答