【问题标题】:Changing welcome file location results in deployment failure更改欢迎文件位置会导致部署失败
【发布时间】:2013-04-03 07:53:05
【问题描述】:

我遇到了错误。

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

我想更改我的欢迎文件位置。我在WEB-INF/pages/index.jsp 有一个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>

【问题讨论】:

  • 我不确定您是否可以将 url-pattern 映射到 WEB-INF/*,因为无法通过 url 访问 WEB-INF 中的文件。

标签: jsf servlets web.xml welcome-file


【解决方案1】:

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

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

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

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


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

【讨论】:

    猜你喜欢
    • 2017-07-28
    • 1970-01-01
    • 1970-01-01
    • 2022-09-26
    • 1970-01-01
    • 1970-01-01
    • 2010-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多