JSP or Java Server Pages is Sun's server side scripting solution.  Actually, the intended use of JSP's is to provide a presentation layer for web applications.  This is murky ground because so many JSP sites have been created using JSP's in their un-intended way.

JSP's can encapsulate all the the necessary business logic for a website in tag libraries that designers can use without knowing any Java code themselves.  So (in theory) the designer can spend their time creating HTML templates for a web site, and the programmers can spend their time writing business logic code.  I personally feel that it's impossible to seperate the two, but every web framework out there is trying to do just that.  ASP.NET has the HTML page and the code behind, PHP has many template systems, the most popular is smarty, XML has XSL/T and if you can think of another web framework, then I'm sure they have some sort of presentation layer.

JSP's require a servelet container to run in.  The most popular of these is the Jakarta Tomcat Servelet Container maintained by the Apache Software Foundation.  I personally find JSP's to be slow, but any JSP programmer  will argue that point to the bitter end.