2013-04-11 37 views
0

我正在收到错误。更改欢迎文件位置会导致部署失败

失败 - 在上下文路径/ sampleJSF应用程序无法启动

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

这是我的servlet-mappingwelcome-file-listweb.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> 
+0

我不确定您是否可以将URL-pattern映射到WEB-INF/*,因为无法通过url访问WEB-INF中的文件。 – 757071 2013-04-11 08:39:13

回答

1

它看起来像你误会都欢迎文件设置和/WEB-INF文件夹的目的。

欢迎文件必须表示当请求文件夹而不是URL中的文件时,服务器应从当前文件夹提供的文件的名称。例如。 //foo//bar/等,所以,当你把它设置为index.jsp,那么它将成为/index.jsp当请求/,并/foo/index.jsp当请求/foo/

/WEB-INF文件夹是文件,这不应该可以独立公开访问。例如,包含文件,模板文件,错误文件,标记文件,配置文件等等。在最终用户有意输入URL中的/WEB-INF文件夹时,将Faces Servlet映射到/WEB-INF毫无意义,因为servlet容器已经限制直接(公共)访问/WEB-INF文件夹。

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


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