嵌入式Jetty无法对我的资源文件进行GET

时间:2018-10-22 19:10:49

标签: embedded-jetty sni

我正在将SNI与带有webAppContext的嵌入式Jetty一起使用。在大多数情况下,这很好。我已切换到Jetty的9.4.8版本。

就SNI而言,该服务启动正常,可以正确加载所有内容并读取所有证书。但是,当我从多个浏览器发出涉及资源路径上的JS和图像文件的特定请求时,浏览器抱怨没有为这些文件定义GET,但是引用/获取使用{{ 1}}。

以下代码在Jetty的早期版本中工作正常,但现在不起作用。 Jetty 9.4.8是否更改了解决相对引用的方式。

任何想法都会受到赞赏。


Jetty代码(到目前为止已经工作了多年)

@RequestMapping

现在失败的html片段是

WebAppContext webAppContext = new WebAppContext(); Resource webappDir = Resource.newResource(System.getProperty("traffic.app.dir")); webAppContext.setBaseResource(webappDir); webAppContext.setDescriptor("WEB-INF/web.xml"); webAppContext.setContextPath("/"); webAppContext.setParentLoaderPriority(false); webAppContext.setLogUrlOnStart(true);

资源路径为<script type="text/javascript" src="/js/spin.js"></script>

错误是

file:///f/f2-traffic/webapp/

Loading failed for the <script> with source “http://test2:8000/tools/js/spin.js”.

所有发生此操作的页面的网址为405 Request method 'GET' not supported.

更新

在web.xml文件中,我有以下内容

http://test2:8000/tools/tsub

这是个问题吗?

1 个答案:

答案 0 :(得分:0)

@joakimerdfelt因此,在完成许多拔头发工作后,我已经解决了我的问题。

在解决此问题的过程中,我添加了一个新的Controller来处理对/ js / ,/ images / 等的“默认”引用,并认为至少会进行修补问题。没有。

经过一番努力,事实证明,两年前有人为该软件的较旧版本添加了映射(显然没有)。我删除了这些映射并添加了安全性配置,以在获取该类型的文件时不应用任何安全性。安全性适用于所有其他参考。我删除了Controller,因此将完成默认处理,并且……所有工作都按照应有的方式开始。

感谢所有建议。