1. Start small, build upwards
Start with a small core, and have lots of easy integrations for common tasks.
Allow the user freedom to choose whatever structure and libraries make the most sense for the application being built.
3. Solid, but not stolid
Use solid base components. For instance, servlets aren't cool, but they are extremely stable and have a huge community behind them. At the same time, work to advance the state of web application development by using new techniques and approaches.
4. Love HTTP
Embrace HTTP and its stateless nature. People get into trouble when they fool themselves into thinking things which aren't true - fancy server-side tricks to give an illusion of statefulness aren't for us.