我试图重新包装一个相对较大的Java Webapp,但我没有编写代码,并且该项目的配置丢失了。
我设置了第一个包装,并将其部署在tomcat中。现在要了解它,我想获得成功启动或失败的servlet的列表,以及相应的访问URL。
一些细节:webapp使用gwt(我不掌握),我在ubuntu上使用tomcat7。如果可行,我不反对使用其他servlet容器的解决方案。
最佳答案
我将编写一个简单的JSP or 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.
}
}