CGI y Compañía CI-2413 Desarrollo de aplicaciones para Internet Prof. Braulio José Solano Rojas ECCI, UCR Common Gateway Interface (CGI) ● ● CGI es una norma técnica que permite al servido r web y a programas en el lado del servidor int eractuar . Dicha interacción se hace a través de unas variables de ambiente a las cuales el servidor web le asigna valor en base a los datos recibidos por HTTP. El programa en el servidor tiene acceso a esos valores. El servidor web toma la salida del programa en el servidor y la reenvía por HTTP. Server Side Includes ● Archivos .shtml <!-- #include virtual = “nombre_archivo” --> ASP, Active Server Pages ASP es un modelo de objetos para el “Microsoft Internet Information Server”. Con ASP se pueden manipular objetos del servidor y sus propiedades, métodos y eventos que exponen, extendiendo así la operación del servidor. El rendimiento de ASP, la facilidad de desarrollo, y la independencia de lenguaje, lo han convertido en una de las tecnologías más populares para el desarrollo de aplicaciones “Web”. ASP, Active Server Pages ● Modelo de Objetos ● ● ● ● ● ● Application Request Response Session Server ObjectContext Ejemplo <%@ LANGUAGE=“VBSCRIPT” %> <HTML> <HEAD> <TITLE>ASP Ejemplo</TITLE> <BODY> Buenas tardes.<BR> Bienvenido al ejemplo. Ahora son aproximadamente las <%=Time()%> en el servidor. He aqu&iacute; un par de demostraciones:<BR><BR><BR> Alg&uacute;n formateo de texto simple hecho utilizando HTML:<BR> <FONT size=“1”> Hello Size 1</FONT><BR> <FONT size =“2”> Hello Size 2</FONT><BR> <FONT size =“3”> Hello Size 3</FONT><BR> <FONT size =“4”> Hello Size 4</FONT><BR> <FONT size =“5”> Hello Size 5</FONT><BR> <BR> The same text formatting using server-side code:<BR> <% For intCounter = to 5 %> <FONT size =“<%=intCounter%>”>Hello Size <%=intCounter%></FONT><BR> <% Next %> <BR> </BODY> </HTML> ASP.NET ● ASP.NET es un marco de desarrollo Web que utiliza el Common Language Runtime de Microsoft. Diferencias entre ASP y ASP.NET ● ● ● Request Request.QueryString Request.Form ● ● ASP devuelve un arreglo de cadenas ASP.NET devuelve una cadena Diferencias entre ASP y ASP.NET ● ● ● Code Behind. Las páginas ASP.NET sólo admiten un único lenguaje. La nueva opción predeterminada es el paso de argumentos por valor. Diferencias entre ASP y ASP.NET ● Declarar las funciones de página en bloques <script runat=server>: ASP <% Sub DoSomething() Response.Write "Hello World!" End Sub DoSomething() %> ASP .Net <script language="VB" runat=server> Sub DoSomething() Response.Write ("Hello World!") End Sub </script> <% DoSomething() %> Diferencias entre ASP y ASP.NET ● ASP.NET no admite funciones de procesamiento de páginas: ASP <% Sub RenderSomething() %> <font color="red"> Here is the time: <%=Now %> </font> <% End Sub %> <% RenderSomething RenderSomething %> ASP .Net <script language="VB" runat=server> Sub RenderSomething() Response.Write("<font color=red> ") Response.Write("Here is the time: " & Now) End Sub </script> <% RenderSomething() RenderSomething() %> Diferencias entre ASP y ASP.NET ● Ya no se utilizan las instrucciones Set y Let: ASP <% Dim MyConn Set MyConn = Server.CreateObject("ADODB.Connection") %> ASP .Net <% Dim MyConn MyConn = Server.CreateObject("ADODB.Connection") %> Diferencias entre ASP y ASP.NET ● Ya no existen propiedades predeterminadas no indizadas: ASP <% Set MyConn = Server.CreateObject("ADODB.Connection") MyConn.Open("TestDB") Set RS = MyConn.Execute("Select * from Products") Response.Write RS("Name") %> ASP.Net <% MyConn = Server.CreateObject("ADODB.Connection") MyConn.Open("TestDB") RS = MyConn.Execute("Select * from Products") Response.Write RS("Name").Value %> JSP JSP ● Razones para utilizar JSP: ● ● ● Corre en la plataforma JVM Reutilización de componentes con JavaBeans y EJB JAVA JSP, Diferencias con ASP ● ● ● Son bastante similares. JSP puede tener una curva de aprendizaje ligeramente mayor. Ambos permiten código empotrado en HTML, variables de sesión y acceso a bases de datos junto con su manipulación. JSP, Diferencias con ASP ● ● ● Sin embargo ASP se encuentra sobre todo en plataformas Microsoft. [Nota: ASP.NET es una norma industrial] JSP puede operar en cualquier plataforma conforme a la especificación J2EE. JSP permite reutilización por medio de Javabeans y EJB. ASP provee el uso de controles COM / ActiveX. JSP, Diferencias con Servlets ● Un Servlet es una clase de Java que provee funcionalidad del lado del servidor web. Es difícil escribir código HTML en Servlets. En Servlets se necesitan declaraciones println para generar HTML. JSP, Diferencias con Servlets Primer JSP: holamundo.jsp <html> <head> <title>Mi primer página JSP</title> </head> <body> <%@ page language="java" %> <% out.println("¡Hola mundo!"); %> </body> </html> JSP: Etiquetas de declaraciones <%! private int contador = 0 ; private String get Cuenta ( int noCuenta) ; %> JSP: Etiquetas de expresiones Fecha : <%= new java.util.Date() %> JSP: Etiquetas de directivas ● <%@ directiva ... %> ● Hay tres tipos de directivas: ● ● ● Página: procesa información para esta página. Inclusión: incluye archivos. Biblioteca de etiquetas: biblioteca que se va a utilizar en esta página. JSP: Etiquetas de Scriptlet <% String usuario = "ci2413" ; out.println ( usuario ) ; %> JSP: Etiquetas de Acción Hay tres papeles principales para las etiquetas de acción: 1. 2. 3. Activar el uso de Javabeans en el lado del servidor. Transferir control entre páginas. Apoyo independiente del navegador para applets. JSP: Objetos Implícitos Variable Request Response Out Session PageContent Application Config Page Tipo Javax.servlet.http.httpservletrequest Javax.servlet.http. httpservletresponse Javax.servlet.jsp.JspWriter Javax.servlet.http.httpsession Javax.servlet.jsp.pagecontext Javax.servlet.http.ServletContext Javax.servlet.http.ServletConfig Java.lang.Object JSP: Hola Mundo <% String sMensaje = request.getParameter(“mensaje"); out.print(sMensaje); %> PHP ¡Gracias por su atención! ¿Preguntas?