AWT - это часть ОС, относящаяся к ОС, на рабочем столе, а не на веб-сайтах, в которых JSP, сервлеты и т. Д. Живут. Чуть более конкретно, такие вещи, как Swing (у которых есть те JPanels, JButtons и т. Д., Которые вы упомянули как компоненты пользовательского интерфейса), и SWT в настоящее время базируются на AWT и работают поверх него, чтобы отобразить пользовательский интерфейс и позволить ему работать должным образом.
К сожалению, все это означает, что вы не можете использовать компоненты на основе AWT на веб-страницах, так как веб-страницы (как правило) являются агностиками платформы в том смысле, что они не могут точно определить, как обрабатываются части пользовательского интерфейса , есть только куча разметки, которая рассматривается как своего рода призыв к веб-браузеру делать то, что надеется веб-дизайнер без 100% гарантии, что конечный результат будет тем, чего хотел дизайнер.
Было много изобретать колесо, чтобы добиться создания пользовательского интерфейса Swing/AWT на веб-стороне Java, так как это умная модель, как будто вы уже знаете, что Google Web Toolkit пытается сделать свою часть, чтобы заставить Web казаться более похожим настольное приложение, в то время как на самом деле он просто автоматизирует необходимый JavaScript Ajax, чтобы заставить веб-страницу вести себя так, как если бы это было настольное приложение. Еще одна основа для этого - Tapestry, которую я лично не использовал, но некоторые считают, что это тоже достойный выбор.
И, конечно же, мой личный фаворит Apache Wicket, который позволяет иметь истинное разделение между Java-кодом и разметкой, и он ведет себя так же, как и код Swing UI! На самом деле существует целая группа именных столкновений с компонентами компонента пользовательского интерфейса Swing для самых простых вещей. Предполагая, что вы знакомы с кодированием пользовательского интерфейса для настольных приложений, я настоятельно рекомендую Wicket, он абстрагирует от скучных и утомительных деталей (сервлеты, разрешение URL, возможность закладки страниц, безопасность ...) и заменяет их подобной событием моделью (например, но не равным) для Swing's EDT, в котором обычно происходит магия рабочего стола.
В то время как это полностью удаляется от того, что вы ищете, с помощью Wicket вы можете создать такой набор веб-компонентов POJO, которые вы можете использовать их где угодно и получить то, что вы просили. Слово предупреждения, хотя, Wicket предполагает, что вы действительно знаете, как закодировать Java, и некоторые смехотворно простые вещи могут быть утомительными сначала, но в конце концов вы должны быть вполне довольны тем, что у вас есть.
спасибо за полезный обзор :) – JohnIdol