java - 列出 java webapp 中的 servlet(在 tomcat 中运行)

标签 java tomcat servlets gwt

我正在尝试重新打包一个相对较大的 java webapp,我没有编写代码并且项目配置丢失了。 我设置了第一个包装,并将其部署在 tomcat 中。现在理解它,我想获得启动成功或失败的 servlet 的列表,以及相应的访问 url。

  • 有没有办法获取该列表(可能来自某些启动日志)?

一些细节:webapp使用gwt(我不掌握),我在ubuntu上使用tomcat7。如果可行,我不反对使用另一个 servlet 容器的解决方案。

最佳答案

我会编写一个简单的 JSP 或 ServletContextListener 来从 servlet 上下文中读取所有 ServletRegistratioins 并显示它们。

因此您的 JSP/ServletContextListener 将从中读取数据

servletContext.getServletRegistrations();

然后显示它。

编辑

@WebServlet(urlPatterns = "/mappings")
public class TestServlet extends HttpServlet {

    private static final long serialVersionUID = -7256602549310759826L;

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {

        PrintWriter writer = resp.getWriter();

        Map<String, ? extends ServletRegistration> registrations = req
                .getServletContext().getServletRegistrations();

        for (String key : registrations.keySet()) {
            ServletRegistration registration = registrations.get(key);
            writer.write("Name: " + registration.getName());
            writer.write("<br>Mappings:");
            for (String mapping : registration.getMappings()) {
                writer.write(mapping);
            }
        }

        // of course you can write that to log or console also depending on your
        // requirement.
    }

}

关于java - 列出 java webapp 中的 servlet(在 tomcat 中运行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30351959/

相关文章:

java - 如何管理所需的、冲突的 Java 依赖项

Java robot.mouseMove(x, y) 没有产生正确的结果

java - 在centos 7中启动tomcat 7的问题

java - 减少 log4j.xml 中 Tomcat Digester 记录器的冗长程度

java - 每个 jsf 的 C 都不起作用。日本科学基金会

java - 具有执行程序或多线程环境的 Apache DBCP

tomcat - 在 TomCat 7 上运行 GWT 项目

javascript - 循环根据长度精确迭代,但每次迭代插入相同的记录

java - 在 java 中用于 jsp web 应用程序的文件路径的完整路径声明

java - JSP 中的 session.getAttribute() 给出空值