我想为facelets使用自定义网址扩展程序。比方说,.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
输入状态报告
message /Project/facelets/common/index.jsp
说明请求的资源不可用。
Apache Tomcat / 7.0.39
请注意,即使我没有在任何地方使用.jsp
扩展名,也会显示.jsp。任何指针有什么不对吗?
答案 0 :(得分:0)
好吧,看起来我误解了一些基础知识。我将磁盘上的文件重命名为index.asdf,我不应该这样做。他们应该保留.xhtml
扩展名,只有我访问它们的扩展名才是新扩展名。现在一切都按预期工作。如果您想限制对这些原始.xhtml
文件的访问,请使用此https://stackoverflow.com/a/5675913/989919