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