Я пытаюсь создать веб-интерфейс пользователя для приложения Java. Пользовательский интерфейс будет очень простым, состоящим из одной страницы с формой для запросов пользователей и страницы результатов — вроде поисковой системы Google или Ask.com.
Я хорошо знаком с базовым API Java, но у меня нет большого опыта использования Java для веб-сред (хотя я использовал ASP.NET), поэтому мне нужен совет:
Какой сервер веб-приложений мне следует использовать? Обратите внимание, что мой интерфейс очень легкий, и мне просто нужно что-то быстрое, легко запускаемое/сбрасываемое/останавливаемое и (повторно) развернуть мое приложение. Кроме того, мне нужно, чтобы он работал в нескольких средах, а именно в GNU/Linux, Mac OS X и Windows XP/Vista. Кроме того, я использую
ant
иEclipse
, поэтому было бы здорово, если бы я мог легко добавить несколько целейant
для управления сервером и/или управлять сервером с помощью IDE. Я изучил Tomcat и Jetty, и последний кажется очень легким и простым в установке и развертывании. Это идеально, потому что графический интерфейс предназначен только для демонстрационных целей, и мне, вероятно, потребуется развернуть его на разных компьютерах. Однако Tomcat существует уже очень давно и кажется более зрелым.Что касается веб-страниц, то Java Server Pages выглядят хорошо, так как они кажутся достаточно простыми для того, что я пытаюсь выполнить (обработка формы и вывод результата), но я полностью уши для предложений.
- У меня также есть еще одно требование, которое требует от меня объяснения «базового» рабочего процесса приложения: по сути, у меня есть класс
Engine
, у которого есть методrun(String)
, который будет обрабатывать ввод пользователя и возвращать результаты для отображения. Этот класс является ядром приложения. Теперь я хотел бы создать экземпляр этого класса только один раз, так как он требует много памяти и очень долго запускается , поэтому я хотел бы создать его при запуске приложения/сервера и сохранить эту ссылку для всего диапазона приложения (т.е. до тех пор, пока я не остановлю сервер). Затем для каждого пользовательского запроса я просто вызывал методrun
экземпляраEngine
и отображал его результаты. Как это можно сделать в Java?