你需要为js、style和img定义其他过滤器。
像这样的东西:
<rule>
<from>/img/**</from>
<to>/img/$1</to>
</rule>
<rule>
<from>/js/**</from>
<to>/js/$1</to>
</rule>
<rule>
<from>/style/**</from>
<to>/style/$1</to>
</rule>
这些过滤器应该在您为用户定义的过滤器之前声明。这些规则将在应用于过滤器的规则之前匹配,并且您的问题应该得到解决。
编辑.
关于您的评论:过滤器以某种方式添加了可以在打印屏幕中看到的用户。
我认为这是不正确的,我的意思是,过滤器不是将“用户”添加到过滤器的过滤器。我认为问题在于您如何导入资源。
可能,你正在做这样的事情:
<script type="text/javascript" language="javascript" src="resources/js/lang.js"></script>
在此示例中,查看相对 URI 如何不满足您的应用程序上下文并且不以斜杠开头。当您使用这样的 URL 时,浏览器将在相对于实际路径的路径中查找资源。如果您在浏览器http://localhost:8080/roqlet/user
中有结果将是http://localhost:8080/roqket/user/theResource
(假设“roqket”是您的应用程序上下文)。
所以,你应该这样做:
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<script type="text/javascript" language="javascript" src="${ctx}/resources/js/lang.js"></script>
现在,您指出上下文,URI 将相对于它而不是实际构建:http://localhost:8080/roqket/theResource
看看这个文档。