如何让Tomcat的ROOT / index.jsp页面列出所有的webapps?

时间:2012-01-05 18:40:39

标签: jsp tomcat

我来自php环境并试图转移到Tomcat / jsp。

我习惯于将我的网络服务器指向一个目录,并获得一个很好的自动列出我的所有文件夹。

我意识到Tomcat不会那样工作,但我想让它以我的开发和原型设计环境的方式工作。

我的目标是当我向CATALINA_HOME添加新的Web应用程序时,ROOT / index.jsp页面应列出新的Web应用程序以及已安装的任何其他应用程序。

给出这个目录结构

ROOT/index.jsp
sample/index.jsp
anotherApp/index.jsp

当我访问localhost时,我希望在浏览器中看到类似的内容:8080:

My Web Apps:
* sample
* anotherApp

是否有一种简单的方法可以构建一个循环迭代tomcat.availWebApps并为每个循环创建一个链接?

2 个答案:

答案 0 :(得分:1)

Tomcat附带一个Manager应用程序。查看Tomcat的主页(http://localhost:8080/)。该页面上有一个标记为“Manager App”的按钮。您可以设置您的姓名,角色和密码。见http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html

答案 1 :(得分:0)

嗯,这很有效。这完全是手动的。如果有人知道自动或更清洁的方式,我很想知道。

<!DOCTYPE html>
<html>
<head>

</head>
<body>
    <h2>Eric's Tomcat Webapps</h2>
    <ul>
    <%
    String root="/Users/eric/www/_Deployed Tomcat/";
    String ignored = "ROOT";
    java.io.File file;
    java.io.File dir = new java.io.File(root);

    String[] list = dir.list();

    for (int i = 0; i < list.length; i++) {
        file = new java.io.File(root + list[i]);
        if (file.isDirectory() &&
            !list[i].equals(ignored)
            ) {
        %>
            <li><a href="<%=list[i]%>" target="_top"><%=list[i]%></a><br>
        <%
        }
    }
    %>
    </ul>

</body>
</html>