-3

我正在构建一个 Web 应用程序,它在后端需要解析一个 java 文件并将某些值保存在数据库中。这必须由用户触发并按计划设置。

这样做的最佳方法是什么?我应该使用 php 还是 java 来执行此操作?知道如何用两种语言解析文件,但是 java 具有反射,这将使其更容易并减少出错的可能性,但是我现在不知道从前端调用 java 文件,例如单击按钮。

我希望使用的前端技术是 html、css、javascript 和 ajax。我不打算使用 struts 等,因为我不熟悉它们,而且我的时间有限。

谢谢

4

1 回答 1

1

在这种情况下,反射将无济于事,因为您需要解析代码(在这种情况下为 Java)并按照您的方式解释。因此,您需要构建文件的 AST。

AST(抽象语法树)可以使用Eclipse JDT在 Java 中构建。在Maven 中央

    <dependency>
        <groupId>org.eclipse.jdt</groupId>
        <artifactId>org.eclipse.jdt.core</artifactId>
        <version>3.12.2</version>
    </dependency>

Eclipse JDT 是一种文档模型,可以类比为 DOM 树,通过 DOM 树,您可以访问 XML 的元素、属性等。AST 具有相同的范围,您可以访问例如类名称或该类的方法,为每个方法提取参数名称和类型,而无需基于该类实例化对象。通过 JDT 可以访问文档或注释等其他人工制品。

可以应用反射,以防万一您将类加载到某个类加载器上,即便如此,仍有一些信息,如文档或参数名称,您无法通过反射访问。

一个好的开始是阅读这篇手帖:http ://www.vogella.com/articles/EclipseJDT/article.html#jdt

可以使用我在此答案上发布的代码来完成一个简单的开始

于 2012-07-02T20:27:54.530 回答