因为我的问题与JSF和404错误抛出有关。
我想出了一个答案:
向 web.xml 添加设置:
<context-param>
<param-name>facelets.RESOURCE_RESOLVER</param-name>
<param-value>our.company.CustomResourceResolver</param-value>
</context-param>
在哪里:CustomResourceResolver extends javax.faces.view.facelets.ResourceResolver
在那里我会有一个被覆盖的方法:
@Override
public URL resolveUrl(String path) {
try {
String fixedPath = "/WEB-INF/pages";
return getResolvedPath(path, fixedPath);
} catch(IOException e) {
throw new FacesException(e);
}
}
这里我们假设我们所有的页面都位于/WEB-INF/pages
文件夹中
因此,每次发生异常时,它都会被解释为404。
并且:我们应该删除- 如果我们想<security-constraint>
向web.xml
用户显示他无权访问特定资源,那么这个人很好,但在我们的例子中,我们不想显示这个。我们不想向他展示这个资源已经存在的事实。