private List<Class> getActionClasses(String packageName) throws Exception {
        List<Class> classList = new ArrayList<>();
        String path = packageName.replaceAll("\\.", "/");
        URL url = this.getClass().getClassLoader().getResource(path);
        if (url == null) {
            return Collections.emptyList();
        }
        List<File> actionClassFileList = getFileList(url.getFile(), ".class");
        for (File f : actionClassFileList) {
            String pathStr = f.getPath().replaceAll("/|\\\\", ".");
            Class clazz = Class.forName(
                    pathStr.substring(pathStr.indexOf(packageName), pathStr.length() - 6));
            if (Action.class.isAssignableFrom(clazz)) {
                classList.add(clazz);
            }
        }
        return classList;
    }
Get layout information
@param target  the target information
@return   the layout information
inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/simplemvc/RequestDispatcher.java