JSP represents an attempt to turn servlets inside out, by making it easy to generate the HTML portion of a Web page without having to worry about placing it inside print statements.
The JSP page is turned into a Java class, which acts as a servlet. Each request is associated with a session, which represents a given user, and is tracked using cookies or URL rewriting.
Objects can be persistent on several levels, from page and request through session, and even to the entire application or server.
JSTL provides a large library of common tags, as well as a scripting language that enables developers to use tags instead of Java scriptlets for many programmatic functionalities on Web pages. Developers can also develop their own tag libraries. ...