好的,在阅读了上述答案和其他一些 SO 帖子后,我得出了两个解决方案:
我正在使用 Spring MVC 并且我DispatcherServlet
的被映射到 root /
。这意味着对任何东西的任何请求都将通过它,但我没有控制器来提供资源文件。您可以做的是将 映射DispatcherServlet
到类似/app/*
. 然后所有常规网址都喜欢
http:\\localhost:8080\ContextRoot\users
将在
http:\\localhost:8080\ContextRoot\app\users
.
然后你可以去
http:\\localhost:8080\ContextRoot\static\js\file.js
并且您将获得 Apache 服务器(或您正在使用的任何东西)的资源文件。
DispatcherServlet
Spring 的人可能认为这是一个问题,并使用仍然映射的 at制定了自己的解决方案/
。在您的servlet.xml
文件中,您必须添加
<mvc:resources location = "/static/" mapping = "/static/**" />
您的文件夹位于文件夹static
下webapp
。这个标签告诉 Spring MVC 有一个特殊的处理程序来处理/static/
. 你还需要
<mvc:annotation-driven>
否则,您的 Controllers 处理程序方法将与前一个标记中的处理程序混淆,并且没有任何效果(至少它不适合我)。
我尝试了这两种方法,它们都有效,但我选择了第二种方法,因为我的视图中的锚点已映射到根目录,我不想全部修复。使您的链接相对,人!