Я пытаюсь создать веб-интерфейс для приложения Java. Пользовательский интерфейс будет очень простым, состоящим из одной страницы с формой для представления пользователями своих запросов и страницы результатов - вроде поисковой системы Google или Ask.com.Веб-интерфейс пользователя для Java-приложения
Я знаком с базовым API Java, но у меня нет большого опыта использования Java для веб-сред (хотя я и использовал ASP.NET), поэтому я ищу несколько советов:
Что веб-сервер приложений я должен использовать? Обратите внимание, что мой интерфейс очень легкий, и я просто хочу что-то быстрое, легко начать/перезагрузить/остановить и (повторно) развернуть мое приложение. Кроме того, мне нужно, чтобы он работал на нескольких средах, а именно GNU/Linux, Mac OS X и Windows XP/Vista. Кроме того, я использую
ant
иEclipse
, поэтому было бы здорово, если бы я мог легко добавить целыеant
цели для управления сервером и/или управлять сервером с помощью IDE. Я просмотрел Tomcat и Jetty, и последний кажется очень легким и простым в установке и развертывании. Это идеально, потому что GUI предназначен только для демонстрационных целей, и мне, вероятно, придется развернуть его на разных компьютерах. Тем не менее, Tomcat существует очень долго, и он кажется более зрелым.Что касается веб-страниц, Java Server Pages выглядеть хорошо подходят, так как они кажутся достаточно простыми для того, что я пытаюсь выполнить (обработки формы и вывода результата), но я все уши для предложений.
- У меня также есть другое требование, которое требует от меня объяснения «базового» рабочего процесса приложения: В принципе, у меня есть класс
Engine
, который имеет способrun(String)
, который будет обрабатывать ввод пользователя и возвращать результаты для отображения. Этот класс является ядром приложения. Теперь я хотел бы создать экземпляр этого класса только один раз, так как он требует лота памяти и занимает очень много времени для запуска, поэтому я хотел бы создать его при запуске приложения/сервера , и сохраните эту ссылку для всего диапазона приложения (т. е. до тех пор, пока я не остановлю сервер). Затем для каждого пользовательского запроса я просто вызываю методrun
экземпляраEngine
и покажу его результаты. Как это можно сделать на Java?
Спасибо за комментарии. 1) Тяжелый в том смысле, что, похоже, у него много функций, которые мне не нужны, и для его установки также требуется несколько дополнительных шагов. С другой стороны, из того, что я видел с Jetty, все, что нужно для запуска, - запустить java -jar start.jar. Также есть хороший проект Contrib, который позволяет мне запускать мое приложение, просто используя java -jar jetty-runner.jar application.war', что довольно круто, поскольку я хочу запустить веб-интерфейс для демонстрационных целей, на разных компьютерах , Тем не менее, Tomcat, похоже, имеет прочную репутацию, поэтому это сложный выбор. –
2) Это действительно простой интерфейс для (довольно) сложного приложения, и я не думаю, что мне действительно нужны более продвинутые виджеты, но спасибо за предложение. В конце концов, мне нужно будет интегрировать некоторые API (такие как Карты Google) на странице результатов, но я, вероятно, просто закодирую javascript на странице JSP для этого. –
3) Можете ли вы предоставить мне пример для этого, используя JSP? Из того, что я прочитал до сих пор, мне нужно «активировать» загрузку на загрузку конфигурации сервлета, чтобы она загружалась при запуске сервера. Но как именно я могу получить доступ к переменной-члену 'Engine' сервлета, изнутри JSP? В принципе, у меня есть страница 'A.jsp' с текстовым полем ввода, содержимое которого будет передано с помощью' GET' на страницу 'B.jsp'. На этой странице мне нужно получить экземпляр 'Engine', вызывать метод, используя содержимое строки запроса, и выводить результаты. –