Зависит от того, что вы пытаетесь достичь.
Что касается фреймворков, я бы рекомендовал проверить Spring поверх Struts (хотя они могут использоваться вместе, Spring имеет эквивалентный Spring-MVC).
Но Spring может быть немного вовлечен в новичок в Java, даже если у вас есть опыт работы с другими языками.Может быть, сначала поэкспериментируйте с JSP / сервлетом и проверьте Spring, как только вы освоитесь с ними (я рекомендую Spring in Action для чтения материалов)
... Кроме того, если мы поговорим немного более нестандартно(Я вижу, что кто-то еще упомянул Scala / Lift), другой альтернативой будет Groovy на Grails.Он основан на Spring и принадлежит SpringSource, но разрабатывать его гораздо веселее и быстрее.Кроме того, если ваш предыдущий опыт связан с динамическими языками, такими как Python / Ruby, стоит попробовать Groovy.