Download CGI y Compañía - Braulio J. Solano Rojas

Document related concepts
no text concepts found
Transcript
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?