Before the advent of JSP, the most-used Java technology that could generate dynamic Web page content was Java servlets. Because JSPs eventually are compiled into Java servlets, you can do as much with JSPs as you can do with Java servlets.
However, coding JSPs is easier than coding Java servlets. With JSPs, you place static text by coding HTML tags as opposed to Java servlets, in which you place static text by coding a plentitude of println statements.
With JSPs, you change static text by changing HTML; and with Java servlets, you change static text by modifying a Java servlet (don t forget the compile/debug cycle!).