在Jetty 8.1.12中将dirAllowed设置为false

我使用的是Jetty 6.x,我们创建了一个基于Spring的Jetty服务器,并将dirAllowed设置为false。 配置如下。

                                 

现在我升级到Jetty 8.1.12并发现initParams不适用于org.eclipse.jetty.webapp.WebAppContext.Now现在配置如下(带有dirAllowed注释掉)

                    <!--      -->          

有人能告诉我如何为Jetty 8.1.12设置dirAllowed属性

我看到很少有像这样的基于代码的服务器的post

但我的服务器是基于弹簧的。 如何设置基于弹簧的配置。

从Jetty 6升级到Jetty 8需要您更新Jetty参考。

首先,您需要更新所有已命名的类。 该项目于6年前迁移到Eclipse Foundation,这导致从org.mortbay.jettyorg.eclipse.jetty的强制包名称更改

然后,您需要更新各种设置器,使其与您尝试执行的操作相关。

建议您获取Jetty Distribution tarball(或zip)的副本,并查看它附带的Jetty XML文件以获得一些灵感,同时还引用Jetty 8 Javadocs以获取一些细节。

注意:Jetty 6在2010 年是EOL。在2014年底Jetty 8是EOL ,今年之后将不会再对Jetty 8进行更新。 非常鼓励你现在升级到Jetty 9。

一个临时的解决方法应该是创建一个自定义的WebAppContext,它不是恩典而是有效。

 public class CustomWebAppContext extends org.eclipse.jetty.webapp.WebAppContext{ public void setInitParams(Map values){ Map currectParams= getInitParams(); if(currectParams==null){ currectParams= new HashMap(); } for(Map.Entry entry : values.entrySet()){ currectParams.put(entry.getKey(), entry.getValue()); } }} 

然后在xml中: