JavaServer Pages are just text files filled with standard HTML code that is interspersed with nuggets of Java-like code. This code is interpreted by a JSP translator and turned into Java code, along with the HTML that it modified. This architecture provides a script language that integrates well with the JVM, but that is simple enough to be learned by anyone capable of writing HTML. You can think of JSP as adding logical constructs to HTML.
The JSP page is translated into a servlet prior to being run. The servlet's output is HTML statements, so authoring JSP pages can be thought of as a fancy form of HTML authoring.
JSP can make calls to Java classes on the server. This is the subject of Chapter 23, "Component-Based JSP Pages." In addition, a programmer can write custom tags to extend JSP functionality. This is the subject of Chapter 24, "Custom Tag Libraries."