java - 在 Jetty 8.1.12 中将 dirAllowed 设置为 false

标签 java spring spring-mvc jetty

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

<bean id="Server" class="org.mortbay.jetty.Server" init-method="start" destroy-method="stop">
    <property name="connectors">
        <list>
            <bean id="Connector" class="org.mortbay.jetty.nio.SelectChannelConnector">
                <property name="port" value="${tnplportal.jettyServer.httpPort}" />
                <property name="headerBufferSize" value="${tnplportal.jettyServer.headerBufferSize}" />
            </bean>
        </list>
    </property>

    <property name="handler">
        <bean id="handlers" class="org.mortbay.jetty.handler.HandlerCollection">
            <property name="handlers">
                <list>
                    <bean id="contexts" class="org.mortbay.jetty.handler.ContextHandlerCollection">
                        <property name="handlers">
                            <list>
                                <bean class="org.mortbay.jetty.webapp.WebAppContext">
                                        <property name="contextPath" value="/fileServer" />
                                        <property name="resourceBase" value="ResourcePath" />
                                        <property name="initParams">
                                            <map> 
                                               <entry key="org.mortbay.jetty.servlet.Default.dirAllowed" value="false" />
                                            </map>
                                        </property>
                                </bean>

                            </list>
                        </property>
                    </bean>
                </list>
            </property>
        </bean>
    </property>
</bean>

现在我升级到 Jetty 8.1.12,发现 initParams 不适用于 org.eclipse.jetty.webapp.WebAppContext。现在的配置如下(dirAllowed 被注释掉)

    <bean id="Server" class="org.eclipse.jetty.server.Server" init-method="start" destroy-method="stop">
    <property name="connectors">
        <list>
            <bean id="Connector" class="org.eclipse.jetty.server.nio.SelectChannelConnector">
                <property name="port" value="${tnplportal.jettyServer.httpPort}" />
            </bean>
        </list>
    </property>

    <property name="handler">
        <bean id="handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
            <property name="handlers">
                <list>
                    <bean id="contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection">
                        <property name="handlers">
                            <list>
                                <bean class="org.eclipse.jetty.webapp.WebAppContext">
                                    <property name="contextPath" value="/fileServer" />
                                    <property name="resourceBase" value="resourcePath" />
                                    <!-- <property name="initParams">
                                           <map>               
                                            <entry key="org.mortbay.jetty.servlet.Default.dirAllowed" value="false" />
                                           </map>
                                        </property> -->
                                </bean>

                            </list>
                        </property>
                    </bean>
                </list>
            </property>
        </bean>
    </property>
</bean>

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

我看到了一些关于基于代码的服务器的帖子,例如 this

但是我的服务器是基于spring的。如何使用基于 spring 的配置进行设置。

最佳答案

从 Jetty 6 升级到 Jetty 8 需要您更新 Jetty 引用。

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

然后您需要更新各种 setter 以与您尝试执行的操作相关。

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

注意:Jetty 6 已于 2010 年停产。Jetty 8 is EOL at the end of 2014 ,今年之后 Jetty 8 将不再有更新。强烈建议您立即升级到 Jetty 9。

关于java - 在 Jetty 8.1.12 中将 dirAllowed 设置为 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26845808/

相关文章:

java.lang.StackOverflowError : null for the jpa saveAll

http - 是否有用于关闭浏览器响应缓存的 spring 3.1 MVC 注释?

Java - Spring 3.0 MVC 和@ModelAttribute

java - 当 EObject 包含无序的 EList 时如何比较它们之间的相等性?

java - 如何将owl本体保存为json-ld格式?

java - spring boot Hibernate报错java.lang.NoSuchMethodError : javax. persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey;

java - 无法加载 JDBC 驱动程序类 [com.mysql.jdbc.Driver]

java - 将方法从 mainActivity 移动到类文件

java - Swagger未获取PathVariable

java - 根据 Activity 配置文件或 yml 属性值启用/禁用数据库连接