Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Capitulo 7: Tecnologas de la
Capa Media, Lgica del Negocio.
zArquitectura MVC.
7- 1
7- 3
Temario
z Revision de la Arquitectura MVC.
z Operaciones de la capa media.
Diferentes arquitecturas
para la capa media
zCGI-BIN
zServlet y JSP
7- 2
7- 4
Procesamiento en la CM:
CGI-BIN
Mecanismo de solicitud de
paginas estticas HTML.
7- 5
7- 7
CGI-BIN: El proceso
z
z
z
z
7- 6
7- 8
CGI-BIN: El formulario
typedef struct {
char name[128];
char val[128];
} entry;
int m,x;
7- 9
cl = getenv("QUERY_STRING");
for(x=0;cl[0] != '\0';x++) {
m=x;
getword(entries[x].val,cl,'&');
plustospace(entries[x].val);
unescape_url(entries[x].val);
getword(entries[x].name,entries[x].val,'=');
7- 11
Llamada CGI
entrada.
entrada.
datos de entrada.
7- 10
7- 12
Lenguajes de
programacin de CGI (2)
CGI.
entrada.
El servidor ejecuta la ampliacin CGI pasndole la
informacin a travs de la entrada estndar.
La aplicacin CGI procesa su entrada estndar y
recupera los datos de entrada.
La aplicacin CGI se ejecuta produciendo un
resultado sobre su salida estndar.
EL servidor HTTP redirecciona la salida estndar de
la aplicacin CGI hacia el cliente WWW.
El cliente WWW recibe el resultado de su consulta.
7- 13
Lenguajes de
programacin de CGI
7- 15
Lenguajes de
programacin de CGI (3)
7- 14
7- 16
7- 17
7- 19
HTML
<?
PHP
print(hola);
?>
7- 18
7- 20
Apache
Recibe las
variables
Solicitud
de un PHP
INTERNET
INTERNET
Imprime HTML
Thread apache
Interpretando (VM) PHP
TECNOLOGIAS DE INFORMACION Y REDISEO DE PROCESOS
7- 21
7- 23
PHP: Desventajas
PHP: El proceso
7- 22
7- 24
Request 3
Proceso 3
7- 25
7- 27
Sesiones
z Conjunto de datos asociados a cada cliente conectado.
hola
#session=1
comprar
#session=2
#session=3
Session Dato
1
2
3
4
Hola
Comprar
Salir
Vender
salir
#session=4
vender
7- 26
7- 28
z Aplicaciones Tpicas
El
Interaccin
Aplicaciones
E-business
etc.
7- 29
7- 31
Servlets
Java en el Servidor: Servlets (4)
zSon aplicaciones del lado del
Permite
el desarrollo de aplicaciones
utilizando Java, visibles desde
cualquier Browser
Cualquier modificacin del cdigo se
actualiza automticamente
Permite el desarrollo de aplicaciones
realmente escalables
7- 30
7- 32
7- 33
7- 35
zInicializacin
Se
7- 34
7- 36
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
res.setContentType("text/html");
PrintWriter out = res.getWriter();
out.println("<HTML>");
out.println("<HEAD><TITLE>Hello World</TITLE></HEAD>");
out.println("<BODY>");
out.println("<BIG>Hello World</BIG>");
out.println("</BODY></HTML>");
}
}
doPost
7- 37
7- 39
7- 38
7- 40
10
Objeto Request
El
Sesiones.
Tipo
MIME de la peticin
del Browser
Informacin
7- 41
Objeto Response
7- 43
Cdigo
HTML a enviar.
Cookies a setear.
Tipo MIME de la respuesta.
7- 42
7- 44
11
Manejo de Sesiones
Objeto Response (4)
zPrintWriter (cont)
HttpSesion
Se
Se
contenido
7- 45
7- 46
7- 47
Modelo Request/Response
ServletContext
ServletRequest
g etParame ter()
g etContentType()
HttpServletRequest
GenericServlet
ServletResponse
ini t()
se rvice()
de stroy()
ge tServletContext()
getAttribute()
getInitParameter()
getWriter()
setContentType()
HttpServlet
PrintWriter
HttpServletResponse
getSession()
getCookies()
getHeader()
HttpSession
getAttribute()
setAttribute()
doPost()
doGet()
doPut()
addCookie()
print()
println()
Cookie
getName()
getValue()
7- 48
12
Primer
despliegue
doPost
doGet
doPut
INIT
Contenedor de
Servlet
(Threads)
Requerimientos
posteriores del URL
Fin de ejecucin
DESTROY
Apagado del
servidor
7- 49
7- 51
Servlet: El Proceso
Solucin Transaccional
zA travs de los servlets es posible
7- 50
7- 52
13
HTML
<%=hola
%>
Java
7- 53
7- 55
7- 54
7- 56
14
Preguntas tpicas
7- 57
7- 59
JSP:
Java Server Page
<HTML>
<HEAD>
<TITLE>Hello</TITLE>
</HEAD>
<BODY>
<H1>
<%
if (request.getParameter("name") == null) {
%>
Hello World
<% } else { %>
Hello,
<%= request.getParameter("name") %>
<% } %>
</H1>
</BODY>
</HTML>
7- 58
15