lets discuss MVC first.
There are several Implementation for MVC frame work such as famous Struts and Barcuda. You can also define your own implementation for MVC pattern.
Now to answer your question, let me tell you one thing, Enterprise JavaBeans are serverside components. Especially Session beans are mainly used to PROCESS BUSINESS LOGIC. Using Session Bean a controller will be not that much productive or usefull, because its better to use them as model where business logic are performed, instead of asking to perform as controller or diverting the request from client to model and back from model to client.
Servlets are ideally suited to act as a controller. All the big implementation like struts uses servlets as controller - because they can handle multiple client same time and yes you have more facility like using session, listeners etc to do a proper controlling work.
Thanks for the information; it was very helpful.
I've decided to use a java web start application as the view, and session beans as the model, but the best solution for the controller remains unclear.
With multiple simultanious client connections who's view must be updated anytime one of them performs an action, plain rmi for communication between the view and the controller seems to be the best choice.
Does JBoss support rmi?
If not, can one support the above controller-view requirement with servlets?
Well u can write your own controller. Create ur own controller class that can understand what to do. Define a specific protocol between Server Controller object and client listener object.
Or use the servlet as a controller but in this case u need to pass the information back and forth using http response and request objects.