如何使用Tomcat显示服务器的目录结构?

时间:2014-01-09 07:59:56

标签: java java-ee tomcat

我希望用户通过在同一服务器上托管在Tomcat上的Web应用程序访问我服务器上的/shared文件夹。 我试过以下解决方案,但没有一个有效。

  1. 将上下文条目放在server.xml中 <Context path="/shared" docBase="/shared/" reloadable="true" crossContext="true"/>

  2. 将相同的上下文信息放在Tomcat内的/conf/context.xml中。

  3. 在我的网络应用下的/META-INF/context.xml中添加相同的上下文信息。

  4. 但是当我尝试使用http://{myserverip:portnumber}/shared访问它时,它返回404 Error

    Tomcat版本:7 服务器操作系统:Ubuntu 12.04

    任何建议?

1 个答案:

答案 0 :(得分:2)

你需要做两件事,我不推荐这个解决方案,除非它是你想要共享的一些本地开发服务器并列出你的目录。

首先,在/ conf / catalina /下,您创建了一个shared.xml

<Context path="/shared" docBase="/shared/"/>

其次(这一点我不推荐)你必须在Tomcats的conf / web.xml下启用目录列表 - 查找DefaultServlet并将列表更改为true

这会影响Tomcat服务器上的所有Web应用

<servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
        <init-param>
            <param-name>listings</param-name>
            <param-value>true</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

为了更好的控制,你可以在你的个人网络应用Web.xml中过度使用它,但是从你的场景中我不确定你有一个。

另见How can I list all the files in folder on tomcat?