All technologies here need a servlet container such as Apache Tomcat.
The Java_Servlet API is basically like CGI: Servlets dynamically produce HTML Pages.
Java Server Pages is is basically like the PHP principle: (Java) Code is embedded in the HTML page.
Java Server Faces (JSF) mimic desktop application programming.
Apache Tapestry claims to have less „cruft and confusion“ than JSP. Tapestry uses MVC.
Apache Wicked has a first-class component model like Echo. It uses non-intrusive approach to HTML like Tapestry. It automatically manages server-side state. All code written in Java ala Swing. Source. Wicket is lightweight but for experienced Java programmers. Wicket is meant for building complex applications (think desktop). Intro
Apache Click claims to be simple and easier than Stuts and Tapestry. It uses no MVC and claims MVC is overkill for web apps. Click uses the Velocity template engine. It uses little XML. Source. Intro
Unlike Wicket, Click by default maintains no state, but it comes with ready to use controls. Source