Java Server Pages

Keywords: Java Server Pages, .NET de Microsoft, API, Active Server Pages, C Sharp, Cplusplus, HTML, Lenguaje de programación Java, Microsoft

Java Server Pages (JSP) es la tecnología para generar páginas web de forma dinámica en el servidor, desarrollado por Sun Microsystems, basado en scripts que utilizan una variante del lenguaje java.

La tecnología JSP, o de JavaServer Pages, es una tecnología Java que permite a los programadores generar dinámicamente HTML, XML o algún otro tipo de página web. Esta tecnología permite al código Java y a algunas acciones predefinidas ser empotradas en el contenido estático. En las jsp, se escribe el texto que va a ser devuelto en la salida (normalmente código HTML) empotrando código java dentro de él para poder modificar o generar contenido dinámicamente. El código java se incluye dentro de las marcas de etiqueta <% y %>.

En una posterior especificación, se incluyeron taglib; esto es, la posibilidad de definir etiquetas nuevas que ejecuten código de clases java. La asociación de las etiquetas con las clases java se declaran en archivos de configuración en XML.

La principal ventaja de JSP frente a otros lenguajes es que permite integrarse con clases Java (.class) lo que permite separar en niveles las aplicaciones web, almacenando en clases java las partes que consumen más recursos así como las que requieren más seguridad, y dejando la parte encargada de formatear el documento html en el archivo jsp.

Además Java se caracteriza por ser un lenguaje que puede ejecutarse en cualquier sistema, lo que sumado a jsp le da mucha versatilidad.

Sin embargo JSP no se puede considerar un script al 100% ya que antes de ejecutarse el servidor web compila el script y genera un servlet, por lo tanto se puede decir que aunque este proceso sea transparente para el programador no deja de ser una aplicacion compilada. La ventaja de esto es algo más de rapidez y disponer del API de Java en su totalidad.

Debido a esto la tecnología JSP, así como Java está teniendo mucho peso en el desarrollo web profesional (sobretodo en intranets).

Microsoft, la más directa competencia de Sun, ha visto en esta estrategia de Sun una amenaza lo que le ha llevado a que su plataforma .NET incluya su lenguaje de scripts ASP.NET que permite ser integrado con clases .NET (ya esten hechas en C++, VisualBasic o C#) del mismo modo que jsp se integra con clases Java.

Ejemplo de código de una página JSP:

<%@ page errorPage="myerror.jsp" %>
 <%@ page import="com.foo.bar" %>
 <html>
 <head>
 <%! int serverInstanceVariable = 1;%>
 ...
 <% int localStackBasedVariable = 1; %>
 

Ejemplo de una compilación o "Salida" JSP:

package jsp_servlet;
 import java.util.*;
 import java.io.*;
 import javax.servlet.*;
 import javax.servlet.http.*;
 import javax.servlet.jsp.*;
 import javax.servlet.jsp.tagext.*;
 import com.foo.bar; //imported as a result of <%@ page import="com.foo.bar" %>
 import ...
 class _myserlvet implements javax.servlet.Servlet, javax.servlet.jsp.HttpJspPage {
     //inserted as a
     //result of <%! int serverInstanceVariable = 1;%>
     int serverInstanceVariable = 1; 
     ...
     public void _jspService( javax.servlet.http.HttpServletRequest request,
                              javax.servlet.http.HttpServletResponse response )
       throws javax.servlet.ServletException,
              java.io.IOException
     {
         javax.servlet.ServletConfig config = ...;//get the servlet config
         Object page = this;
         PageContext pageContext = ...;//get the page context for this request 
         javax.servlet.jsp.JspWriter out = pageContext.getOut();
         HttpSession session = request.getSession( true );
         ...
 

Enlaces externos

Página Oficial de JSP

Keywords: Java Server Pages, .NET de Microsoft, API, Active Server Pages, C Sharp, Cplusplus, HTML, Lenguaje de programación Java, Microsoft