Eso depende. Para una aplicación de escritorio con interfaz de usuario hecha en java, las usadas son awt, swt y swing. Cada una tiene sus características y no me voy a poner a explicarlas aquí, primero porque quizás no sea el más indicado y segundo porque si sabes buscar en google, encontrarás buenas explicaciones.
Segundo. Swt tiene su propio gestor de acciones. Swing no lo toco mucho, pero la interfaz ActionListener es la que se implementa para gestionar las acciones sobre los elementos de awt, y sólo tiene un método que gestiona los eventos de acción. Si quieres profundizar lee esto de inicio:
http://www.miliuco.net/java/action_listener_intro.html
Para páginas jsp tienes varias opciones, aunque la que me ha parecido más específica es la de struts.