【问题标题】:JSP does not find resources when changing URL request mapping更改 URL 请求映射时 JSP 找不到资源
【发布时间】:2016-05-24 01:39:48
【问题描述】:

我有一个运行良好的 SpringMVC JSP,部署到 Jetty。它包含许多从战争中加载的脚本、css 等。我正在 Chrome 最新版本中对其进行测试。

我的上下文根定义为 /MYFIRM/myapplication。

现在我们有一个业务需求,将一些但不是全部的 jsps 映射到 /MYFIRM/admin/myapplication/(添加管理部分)

所有这些 JSP 都在我添加的单个控制器中

@Controller
@RequestMapping("/admin")

现在,页面源加载正常,但找不到脚本和其他资源。

资源定义如下:

当我查看页面源时,它在资源 url 中有管理员。

现在,我尝试将资源映射添加到我的 servlet xml

<mvc:resources mapping="/admin/js/**" location="/js/" />
<mvc:resources mapping="/admin/css/**" location="/css/" />

但这不起作用。实际上,当我查看页面源时,管理员已经消失,当我单击页面源中嵌入的 URL(管理员已正确删除)时,它会在浏览器窗口中加载正确的资源。

但是当我查看开发者控制台时,它仍然在 url 中显示 admin 并给我一个错误。

我已经尝试将我的资源移动到一个名为 admin 的新子目录,并且可以正常工作,但是还有其他问题

有人知道我可能缺少什么吗?

【问题讨论】:

    标签: jsp spring-mvc jetty


    【解决方案1】:

    我遇到了同样的问题(Web 应用程序部署在 Tomcat 上)。对我有用的是将静态资源添加到我的 web.xml

     <servlet-mapping>
     <servlet-name>default</servlet-name>
     <url-pattern>*.css</url-pattern>
     </servlet-mapping>
    

    请注意,默认意味着默认 servlet 应该处理静态资源。

    【讨论】:

    • 感谢您的建议。它不适用于我们的 Jetty 部署,但我相信 Tomcat 用户将从您的回答中受益
    猜你喜欢
    • 1970-01-01
    • 2017-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-14
    • 2013-12-29
    • 1970-01-01
    • 2017-02-21
    相关资源
    最近更新 更多