2012-07-02 7 views
-3

Я создаю веб-приложение, которое в задней части должно анализировать java-файл и сохранять определенные значения в базе данных. Это должно быть вызвано пользователем и установлено по расписанию.парсинг java с использованием php или java?

Каков наилучший способ сделать это? Должен ли я делать это с помощью php или java? Знайте, как разбирать файл на обоих языках, но у java есть отражение, которое упростит и уменьшит вероятность ошибки, однако я не имею понятия, теперь вызывать java-файл с переднего конца, например. onclick кнопки.

Передние технологии, которые я ищу использовать, - html, css, javascript и ajax. Я не хочу использовать struts e.t.c, поскольку я не знаком с ними, и я ограничен во времени.

Благодаря

+1

Как вы хотите взглянуть на содержимое текстового файла, что происходит быть в языке программирования java, найти что-то в этом текстовом файле и сохранить части этого текстового файла в базе данных? – tkone

+0

Да, это точно – Ali

+0

На SO уже есть хорошие ответы. Это указывает на некоторый синтаксический анализатор java: http://stackoverflow.com/questions/2206065/java-parse-java-source-code-extract-methods –

ответ

1

Отражение не поможет в этом случае, потому что вам нужно разобрать код (Java в данном случае) и интерпретировать, как вы, которые. Поэтому вам нужно будет создать АСТ вашего файла.

АСТ (абстрактное дерево синтаксиса) может быть построено на Java с использованием Eclipse JDT. На maven central:

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

Eclipse, JDT модель документа, который можно было бы сравнить с DOM Tree, с DOM Tree вы можете получить доступ к элементам, атрибуты и так далее из XML. AST имеет одинаковую область действия, вы можете получить доступ, например, к классу Name или к методам этого класса, извлекающим имена и типы параметров для каждого метода без создания экземпляра объекта на основе этого класса. Другие артефакты, такие как документация или комментарии, доступны через JDT.

Отражение может применяться только в том случае, если у вас есть класс, загружаемый в какой-либо загрузчик классов, и даже в этом случае есть некоторая информация, такая как имена документов или параметров, к которым невозможно получить доступ через отражение.

Хороший старт для чтения этой руки сообщение: http://www.vogella.com/articles/EclipseJDT/article.html#jdt

И простой старт может быть сделано с помощью кода я опубликовал на этой answer

Смежные вопросы