JSF不加载css文件,错误消息:“0”;此URL中的资源不是文本;

JSF不加载css文件,错误消息:“0”;此URL中的资源不是文本;,jsf,jsf-2,facelets,Jsf,Jsf 2,Facelets,这是我的JSF文件头: <?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:f="h

这是我的JSF文件头:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" 
  xmlns:f="http://java.sun.com/jsf/core" 
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:ui="http://java.sun.com/jsf/facelets"
  xmlns:p="http://primefaces.org/ui">
<h:head>
    <meta http-equiv="content-type" content="text/html;charset=iso-8859-1"/>
    <title>#{txt.TXT_TITLE_LOGIN}</title>
    <link rel="stylesheet" type="text/css" href="scripts/styles.css"/>
    <link rel="shortcut icon" href="./images/favicon.ico"></link>
    <script src="./scripts/scripts.js" type="text/javascript"/>
</h:head>
<body...

#{txt.txt_TITLE_LOGIN}
解决了它。
像这个问题一样的接缝被发现了

以下代码未捕获
css
文件请求,因此它们通过
gotoLogin()
转发到登录页面(以防用户未登录)

我补充说

if( requestURI.endsWith("css") )
    chain.doFilter(request, response);
    return;
…而且很有效

正如巴卢斯克所说,我本应该使用
而不是标题中的
,这是永远不会发生的。

你能点击浏览器上的URL查看内容吗?响应标题是什么?您应该使用
而不是
if( requestURI.startsWith(req.getContextPath() + ResourceHandler.RESOURCE_IDENTIFIER) )
    chain.doFilter(request, response);
    return;
else
    gotoLogin(null, request, response);
    return;
if( requestURI.endsWith("css") )
    chain.doFilter(request, response);
    return;