The best performance is to be found with the action based frameworks (no paradigm mismatch as the component based frameworks have). My Shortlist would be Stripes first and Spring second.
Stripes Framework (Pro):
- Fast
- SEO friendly links
- Elegant easy to understand code (1 thread per action).
- Low learning curve, any Java web developer can quickly learn it.
- 100% open source, no chance of future license changes.
- Focused and small integrates with any stack.
Stripes Framework (Against):
- Less well known
- Not full stack
Spring MVC (Pro):
- Fast
- SEO friendly links
- Lots of developers have worked with Spring (but less with Spring MVC).
- Full stack, part of Spring framework.
Spring MVC (Against):
- Higher learning curve
- More complex code: because beans need to be programmed tread safe, result is procedural code.
- You might need to buy licenses from VM Ware in the future if you want to get all latest patches.
- License terms can and have changed for future versions.
- Full stack, you might get more than you need.