Во-первых, как правило, всю логику сервера как правило реализуют на JavaBeans, и затем через getbean загружают и используют их в JSP. Это позволяет менять логику работы программы без изменения самих JSP. Далее используют технологию шаблонов. Создают шаблоны JSP, в которых затем заменяют специальные слова (например, выделенные знаками %). Это позволяет отделить html от кода JSP, и дает возможность вэб-дизайнеру модифицировать вид страницы, не затрагивая код.
Рекомендую почитать:
http://www.javable.com/javaworld/01_01/01/