作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个JSF 2 Web应用程序。对于威信,我希望每个URL都以.jsf
扩展名结尾。现在,它以.xhtml
结尾。如果我将其直接更改为Web浏览器地址栏中的.jsf
,则会显示HTTP 500错误。
如何将其设置为.jsf
?
最佳答案
JSF页面的URL模式由<servlet-mapping>
中FacesServlet
的web.xml
指定。正如您提到的.xhtml
可以正常工作一样,您显然已将其配置如下:
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<url-pattern>
以获得所需的虚拟URL扩展名。
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
.jsf
更改为
.xhtml
时,最终用户可以看到原始Facelets文件源代码。您可以通过向
web.xml
添加以下安全约束来防止这种情况:
<security-constraint>
<display-name>Restrict access to Facelets source code.</display-name>
<web-resource-collection>
<web-resource-name>Facelets</web-resource-name>
<url-pattern>*.xhtml</url-pattern>
</web-resource-collection>
<auth-constraint/>
</security-constraint>
关于jsf - 如何在URL中使用.jsf扩展名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12120648/
我是一名优秀的程序员,十分优秀!