您需要为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
看看这个doc。
我想你的解决方案,但我有同样的问题的方式。我不明白为什么这些请求会以任何方式映射到'user' ..他们不包含单词'user'。可以在打印屏幕上看到的'user'通过过滤器以某种方式添加 – Ionut
查看我的版本。我猜你的问题是什么。我希望如此;-) – jddsantaella
那么..那是一个令人沮丧的日子,没有任何东西:))。这是问题。谢谢!我从来不会猜到它.. – Ionut