The document compares several popular Java web frameworks and provides criteria for evaluating them. It discusses traditional criteria like performance and ease of development. It also covers advanced criteria such as AJAX support, view languages, and community size. Example code is shown for frameworks like Groovy/Grails, GWT, Struts 2, Tapestry, and Wicket. The document concludes that there is no single best framework, and developers should understand their needs and try sample applications in candidate frameworks.