This question already has an answer here:
Sometimes I see JSF URL is *.jsf, sometimes *.xhtml and sometimes /faces/*. Why?
(1个答案)
5年前关闭。
我想为我的facelets使用自定义URL扩展。比方说,用
我将映射添加到我的
HTTP状态404-/Project/facelets/common/index.jsp
类型状态报告
消息/Project/facelets/common/index.jsp
描述所请求的资源不可用。
Apache Tomcat / 7.0.39
请注意,即使我在任何地方都没有使用
(1个答案)
5年前关闭。
我想为我的facelets使用自定义URL扩展。比方说,用
.asdf
代替.xhtml
或.jsf
。我将映射添加到我的
web.xml
中:<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.asdf</url-pattern>
</servlet-mapping>
index.asdf
位于WebContent/facelets/common/index.asdf
中,但是如果尝试使用浏览器(http://localhost:8080/Project/facelets/common/index.asdf
)访问它,则会收到以下错误消息:HTTP状态404-/Project/facelets/common/index.jsp
类型状态报告
消息/Project/facelets/common/index.jsp
描述所请求的资源不可用。
Apache Tomcat / 7.0.39
请注意,即使我在任何地方都没有使用
.jsp
扩展名,它也会显示.jsp。任何指针在那里出了什么问题? 最佳答案
好的,看来我误解了这里的一些基础知识。我将磁盘上的文件重命名为index.asdf,这是我不应该拥有的。他们应该保留.xhtml
扩展名,只有我用来访问它们的扩展名才是新扩展名。现在一切都按预期进行。如果要限制对这些原始.xhtml
文件的访问,请使用此https://stackoverflow.com/a/5675913/989919