Java Server Pages (JSP) allows web pages to be generated dynamically using a combination of XML tags and Java Servlets. JSP is an extension to Java Servlets allowing the dynamic generation of web pages.
Java Applets are small compiled Java applications that can be run within a web page. Java applets allow the power of a true programming language to be executed on the client-side (note: For security reasons some Java features are not available for applets). Applet's usefulness is extended by their ability to interact with JavaScript.