/** Returns the path to be used as the servlet name. */ private Path getPagePath(String pathName) { Path rootDir = _webApp.getRootDirectory(); String realPath = _webApp.getRealPath(pathName); Path path = rootDir.lookupNative(realPath); if (path.isFile() && path.canRead()) return path; java.net.URL url; ClassLoader loader = _webApp.getClassLoader(); if (loader != null) { url = _webApp.getClassLoader().getResource(pathName); String name = url != null ? url.toString() : null; path = null; if (url != null && (name.endsWith(".jar") || name.endsWith(".zip"))) path = JarPath.create(Vfs.lookup(url.toString())).lookup(pathName); else if (url != null) path = Vfs.lookup(url.toString()); if (path != null && path.isFile() && path.canRead()) return path; } url = ClassLoader.getSystemResource(pathName); String name = url != null ? url.toString() : null; path = null; if (url != null && (name.endsWith(".jar") || name.endsWith(".zip"))) path = JarPath.create(Vfs.lookup(url.toString())).lookup(pathName); else if (url != null) path = Vfs.lookup(url.toString()); if (path != null && path.isFile() && path.canRead()) return path; else return null; }