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