public boolean doGet(String path, ServletContext ctx, HttpServletResponse resp) throws ServletException, IOException { if (path != null && path.length() > 0) { for (Application runtime : runtimes) { Iterable<ResourceResolver> resolvers = runtime.resolveBeans(ResourceResolver.class); for (ResourceResolver resolver : resolvers) { // For now we only have resource of URL type ... URL content = resolver.resolve(path); InputStream in; if (content != null) { in = content.openStream(); } else { // It could be a server resource like an image in = ctx.getResourceAsStream(path); } if (in != null) { int pos = path.lastIndexOf('/'); String name = pos == -1 ? path : path.substring(pos + 1); String contentType = ctx.getMimeType(name); if (contentType != null) { resp.setContentType(contentType); } Tools.copy(in, resp.getOutputStream()); return true; } } } } return false; }